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

前端 未结 4 2270
庸人自扰
庸人自扰 2020-11-29 01:41

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

相关标签:
4条回答
  • 2020-11-29 02:05

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

    0 讨论(0)
  • 2020-11-29 02:09

    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.

    0 讨论(0)
  • 2020-11-29 02:26

    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
    0 讨论(0)
  • 2020-11-29 02:27

    <%= echos the statement out.

    <% just runs it.

    0 讨论(0)
提交回复
热议问题