[英]view template code tags - asp.net mvc - regd
在asp.net MVC视图引擎的上下文中,<%%>和<%:%>之间有什么区别。 在MVC2书中,它给出如下:
何时使用第一个以及何时使用第二个?
这本书几乎是正确的:
<% %>
代码块在View模板呈现时执行代码。 因此,如果您调用函数<div><% MyFunc() %></div>
,则在打开标记后,如果呈现div但在关闭标记之前,将在渲染时执行该函数。 该函数可以执行您想要的任何操作,检查某些条件并通过异常失败,设置一些变量,使用HttpContext.CurrentContext.Response.Write
(或只是webforms中的Response.Write
)写入响应流。
<%: %>
代码块执行其中包含的代码,然后将结果html编码呈现给模板的输出流。 即它与<% HttpServerUtility.HtmlEncode(HttpContext.CurrentContext.Response.Write(MyFunc()))%>
<%= %>
代码块执行其中包含的代码,然后将没有html编码的结果呈现给模板的输出流。 即它与<% HttpContext.CurrentContext.Response.Write(MyFunc())%>
--- MyFunc()在最后两种情况下应该返回一个字符串。 它也可以是对ViewModel
某些属性或任何其他求值为string的代码块的引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.