在 asp.net MVC View 引擎的上下文中 <% %> 和 <%: %> 有什么区别。在 MVC2 书中给出如下:
什么时候用第一个,什么时候用第二个?
最佳答案
这本书几乎是正确的:<% %>
代码块在 View 模板呈现时执行代码。所以如果你调用函数 <div><% MyFunc() %></div>
如果渲染了 div 但在渲染结束标签之前,you 函数将在打开标签之后的渲染时间执行。该函数可以做任何你想做的事情,检查一些条件并因异常而失败,设置一些变量,使用 HttpContext.CurrentContext.Response.Write
(或只是 Response.Write
在 webforms 中)写入响应流。<%: %>
代码块执行其中包含的代码,然后渲染结果 html 编码 到模板的输出流。即与 <% HttpServerUtility.HtmlEncode(HttpContext.CurrentContext.Response.Write(MyFunc()))%>
相同<%= %>
代码块执行其中包含的代码,然后渲染结果没有 html 编码 到模板的输出流。即与 <% HttpContext.CurrentContext.Response.Write(MyFunc())%>
相同
---MyFunc() 在最后两种情况下应该返回一个字符串。它也可以是对 ViewModel
的某些属性的引用。或任何其他计算为字符串的代码块。
关于asp.net-mvc - 查看模板代码标签 - asp.net mvc - regd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3713578/