Can you briefly list the differences between <%= %>
, <%# %>
and <%$ %>
by giving a simple example?
Maybe one tha
<% 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.