I’ve programmed in both classic ASP and ASP.NET, and I see different tags inside of the markup for server side code.
I’ve recently come across a good blog on MSDN that goes over the difference between:
<%=(percentage together with equals sign) and
<%#(percent sign and hash/pound/octothorpe)
<%# is evaluated only at databind, and
<%= is evaluated at render), but I also see:
<%$(percent and dollar sign) and
<%@(percent sign and at symbol).
<%@ loads things like assemblies and perhaps
<%$ loads things from config files? I’m not too sure.
I was just wondering if anyone could clarify all of this for me and possibly explain why it’s important to create so many different tags that seemingly have a similar purpose?
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
<% %>– is for inline code (especially logic flow)
<%$ %>– is for evaluating expressions (like resource variables)
<%@ %>– is for Page directives, registering assemblies, importing namespaces, etc.
<%= %>– is short-hand for
<%# %>– is used for data binding expressions.
<%: %>– is short-hand for Response.Write(Server.HTMLEncode()) ASP.net 4.0+
<%#: %>– is used for data binding expressions and is automatically HTMLEncoded.
<%-- --%>– is for server-side comments
You’ve covered 2 of them (<%# is evaluated only at databind, and <%= is evaluated at render), and the answer for “
<%@” is that it’s compiler directives (ie., stuff like what you’d put on a compiler’s command line).
I don’t know about “