What is the difference between <% %> and <%= %> in ASP.NET MVC? And when to use which?
Asked
Active
Viewed 1,750 times
15
Graviton
- 79,554
- 141
- 413
- 589
4 Answers
36
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
-
4bee-stings, nice, hadn't heard that one.. :) great response btw – Jeff Atwood Oct 13 '08 at 09:35
10
<%= %> writes to the output stream (usually html) while <% %> is for executing arbitrary script code.
Tahir Akhtar
- 11,187
- 7
- 41
- 68
8
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
- 22,584
- 2
- 49
- 66