tags:

views:

346

answers:

4

In ASP.Net, what is the difference between <%= x %> and <%# x %>?

+2  A: 

<%# is data binding expression syntax.

<%= resolves the expression returns its value to the block (Embedded code block reference) - effectively shorthand for <% Response.Write(...); %>

Daniel Schaffer
+1  A: 

<%# is the databinding directive, <%= is a shortcut for "Response.Write"

BC
+12  A: 

See this question:
http://stackoverflow.com/questions/115159/when-should-i-use-and-in-asp-net-controls


Summary from those answers:

There are a several different 'bee-stings':

  • <%@ - Page/Control/Import/Register directive
  • <%$ - Resource access and Expression building
  • <%= - Explicit output to page, equivalent to <% Response.Write( ) %>
  • <%# - Data Binding. It can only used where databinding is supported, or at the page level if you call Page.DataBind() in your code-behind.
  • <%-- - Server-side comment block
Joel Coehoorn
+1  A: 

<%= x %> is shorthand for Response.Write()

<%# x %> indicates a databind.

<% %> indicates server-executable code.

Jekke