呈现服务器代码的运算符有何不同?
Operator: <%@
Operator: <%:
Operator: <%=
答案 0 :(得分:9)
<%=
只是计算表达式并将结果写入页面输出
<%:
是相同的,但HTML也会对输出进行编码 - 除非输出实现了IHtmlString
<%@
用于特殊框架指令,例如&lt;%@ Page用于指定页面属性,例如母版页
<%
用于代码块,它们是语句,而不是表达式。除非您显式调用写入输出的函数,否则它们不会生成页面输出。
<%#
用于数据绑定表达式,在webforms控件进行数据绑定时会对其进行求值。因此很少在MVC中使用它们。
答案 1 :(得分:1)
&lt;%:对结果进行html编码 &lt;%=等于Response.Write &lt;%@是预处理器derictive