在ASP.NET MVC中,“<%=”,“<%:”“<%#”之间有什么区别?

时间:2011-07-08 07:11:48

标签: asp.net-mvc-3 webforms-view-engine

我试图对上面的查询进行搜索,但可能是由于尖括号,我没有找到任何关于此事的内容。

有人可以解释<%=<%: <%#之间的差异吗?

我似乎记得<%#<%=更受欢迎,但我不确定原因。

2 个答案:

答案 0 :(得分:3)

<%= xxx %>将xxx中的文本插入该位置的页面。 (more info

<%: xxx %>与上面相同,除了html为方便起见对文本进行编码 - (除非xxx是HtmlString,表明它已经编码)

<%# xxx %>与第一个相同,只是在表单上调用DataBind()时才评估xxx(不适用于MVC)(more info

马丁

答案 1 :(得分:3)

以下article很好地描述了它们。

  • <%=:呈现代码语法
  • <%: %>HTML encoded renedring(与<%=使用相同)
  • <%# %>:数据绑定语法 - 适用于经典WebForms应用程序中的服务器端控件,不适用于MVC