11

I know that we can <%: %> syntax for html encoding that is introduced in .Net 4. But I was reading new features of Asp.Net 4.5, and I got that we have another type i-e <%#: %> that is used for encoding the result of databind expression. I am confuse with this.

What is the difference between <%: %> and <%#: %> in Asp.Net

Please explain both of them.

Idrees Khan
  • 7,702
  • 18
  • 63
  • 111

2 Answers2

5

The same way that <%: %> is the HTML encoded version of <%= %>, the <%#: %> tag is the HTML encoded version of <%# %>.

The <%#: %> tag does the same as <%# %>, but then it calls Server.HTMLEncode on the string.

Guffa
  • 687,336
  • 108
  • 737
  • 1,005
1

ASP.NET provides what's called a "binding" syntax to link HTML markup and controls to values extracted from data sources or other variables; that binding syntax is seen as something like:

<%# someVariable %>

The following colon merely extends the new "auto-HtmlEncode" behavior to the results of those bnding expressions.

Hope that helps.

David W
  • 10,062
  • 34
  • 60