Can you briefly list the differences between <%= %>
, <%# %>
and <%$ %>
by开发者_运维百科 giving a simple example?
Maybe one that requires only one of those expressions to be used?
<% %>
<% this.CallMethod() %>
- Basic code block that executes the statements inside.
<%= %>
<%= "text" %>
- Embedded code syntax. Same as writing <% Response.Write("text") %>
.
<%: %>
<%: "text" %>
- Same as above except it's a shorthand for <%= Server.HtmlEncode("text") %>
. This was introduced in ASP.NET 4 and is the default syntax used.
<%# %>
<%# Eval("ColumnName") %>
- Used for databinding.
<%$ %>
<%$ AppSettings: settingName %>
- The expression syntax has a prefix such as AppSettings
, ConnectionStrings
, or Resources
and then a :
followed by the actual expression. It can be used as a shorthand to access resources inline. You can even create your own syntax used here (Thanks @Thomas Levesque). Also see MSDN for more info.
<%@ %>
<%@ Page language="C#" %>
- The directive syntax useful for page/control settings.
<%-- --%>
<%-- This is a comment --%>
- Server-side comment syntax. This differs from the HTML <!-- a comment -->
syntax in that it won't be rendered in the output.
精彩评论