你能说出<%=%>,<%#%>之间的区别吗?和<%$%> ASP.NET表达式?

时间:2010-08-25 12:21:51

标签: .net asp.net syntax

通过举一个简单的例子,您能否简要列出<%= %><%# %><%$ %>之间的差异?

也许只需要使用其中一个表达式?

1 个答案:

答案 0 :(得分:22)

&lt; %%&gt;

<% this.CallMethod() %> - Basic code block执行内部的语句。


&lt;%=%&gt;

<%= "text" %> - Embedded code syntax。与撰写<% Response.Write("text") %>相同。


&lt;%:%&gt;

<%: "text" %> - 与上述相同,但它是<%= Server.HtmlEncode("text") %>的简写。这是introduced in ASP.NET 4,是使用的默认语法。


&lt;%#%&gt;

<%# Eval("ColumnName") %> - 用于databinding


&lt;%$%&gt;

<%$ AppSettings: settingName %> - expression syntax有一个前缀,例如AppSettingsConnectionStringsResources,然后是:,后跟实际表达。它可以用作内联访问资源的简写。你甚至可以create your own syntax在这里使用(感谢@Thomas Levesque)。另外see MSDN了解更多信息。


&lt;%@%&gt;

<%@ Page language="C#" %> - directive syntax对页面/控件设置非常有用。


&lt;% - - %&gt;

<%-- This is a comment --%> - Server-side comment语法。这与HTML <!-- a comment -->语法的不同之处在于不会在输出中呈现。