通过举一个简单的例子,您能否简要列出<%= %>
,<%# %>
和<%$ %>
之间的差异?
也许只需要使用其中一个表达式?
答案 0 :(得分:22)
<% this.CallMethod() %>
- Basic code block执行内部的语句。
<%= "text" %>
- Embedded code syntax。与撰写<% Response.Write("text") %>
相同。
<%: "text" %>
- 与上述相同,但它是<%= Server.HtmlEncode("text") %>
的简写。这是introduced in ASP.NET 4,是使用的默认语法。
<%# Eval("ColumnName") %>
- 用于databinding。
<%$ AppSettings: settingName %>
- expression syntax有一个前缀,例如AppSettings
,ConnectionStrings
或Resources
,然后是:
,后跟实际表达。它可以用作内联访问资源的简写。你甚至可以create your own syntax在这里使用(感谢@Thomas Levesque)。另外see MSDN了解更多信息。
<%@ Page language="C#" %>
- directive syntax对页面/控件设置非常有用。
<%-- This is a comment --%>
- Server-side comment语法。这与HTML <!-- a comment -->
语法的不同之处在于不会在输出中呈现。