See this question:
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 callPage.DataBind()
in your code-behind.<%--
– Server-side comment block<%:
– Equivalent to<%=
, but it also html-encodes the output.