Graviton
Graviton

Reputation: 83316

What is the difference between <% %> and <%=%>?

What is the difference between <% %> and <%= %> in ASP.NET MVC? And when to use which?

Upvotes: 15

Views: 2005

Answers (4)

Keith
Keith

Reputation: 155892

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

Upvotes: 37

Rich Bradshaw
Rich Bradshaw

Reputation: 73055

<%= echos the statement out.

<% just runs it.

Upvotes: 3

Erik van Brakel
Erik van Brakel

Reputation: 23840

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.

Upvotes: 8

Tahir Akhtar
Tahir Akhtar

Reputation: 11645

<%= %> writes to the output stream (usually html) while <% %> is for executing arbitrary script code.

Upvotes: 10

Related Questions