What is the difference between <% %> and <%= %> in ASP.NET MVC? And when to use which?
+8
A:
<%= %> writes to the output stream (usually html) while <% %> is for executing arbitrary script code.
Tahir Akhtar
2008-10-13 08:58:33
+6
A:
Say you have a method on your page, called "SayHello":
protected string SayHello()
{
return "Hello!";
}
And on your page, you have these statements:
first: <%= SayHello() %>
second: <% SayHello() %>
Your output will be:
first: Hello!
second:
when you use <%= %>, what you put in there is inserted into the html at that position. If you use <% %>, you're just inserting some code into your page.
Erik van Brakel
2008-10-13 09:03:25
+19
A:
See also this question. MVC hasn't changed how these bee-stings work, just how often they're used.
Basically:
<%
- execute code<%@
- page directive<%$
- resource access<%=
- explicit output to page<%#
- data binding<%--
- server side comment block
Also new in ASP.Net 4:
<%:
- writes out to the page, but with HTML encoded
Keith
2008-10-13 09:25:53
bee-stings, nice, hadn't heard that one.. :) great response btw
Jeff Atwood
2008-10-13 09:35:33