Question

Can I get a 'when to use' for these and others?

<% %>
<%# EVAL() %>

Thanks

Was it helpful?

Solution

Check out the Web Forms Syntax Reference on MSDN.

For basics,

  • <% %> is used for pure code blocks. I generally only use this for if statements


      <div class="authenticated">

      <div class="unauthenticated">
  • is used to add text into your markup; that is, it equates to

    <div class='<%= IsLoggedIn ? "authenticated" : "unauthenticated" %>'>

  • <%# Expression %> is very similar to the above, but it is evaluated in a DataBinding scenario. One thing that this means is that you can use these expressions to set values of runat="server" controls, which you can't do with the <%= %> syntax. Typically this is used inside of a template for a databound control, but you can also use it in your page, and then call Page.DataBind() (or Control.DataBind()) to cause that code to evaluate.

The others mentioned in the linked article are less common, though certainly have their uses, too.

OTHER TIPS

You can also use

<%= Class.Method() %>

And it will print the result, just as you can do in Ruby on Rails.

Just want to add, there's also the resources expression

<%$ Resources:resource, welcome%>

and asp.net would look for localized version of "welcome" in satellite assemblies automatically.

In ASP.NET 4.0, comes <%: %> syntax for writing something html encoded.

<%: "<script>alert('Hello XSS')</script>" %>  

The above can be used instead of the belove.

<%= Html.Encode("<script>alert('Hello XSS')</script>")%>  
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top