What's the difference between <%# %> and <%= %>?

后端 未结 5 1026
执笔经年
执笔经年 2020-12-06 06:20

Pardon my ASP ignorance, but what\'s the difference?

5条回答
  •  遥遥无期
    2020-12-06 07:01

    These are somewhat informally referred to as "bee stings". There are 4 types:

    <%# %> is invoked during the DataBinding phase.

    <%= %> is used to get values from code to the UI layer. Meant for backward compatibility with ASP applications. Shouldn't use in .NET.

    <%@ %> represents directives and allow behaviors to be set without resorting to code.

    <%: %> (introduced in ASP.NET 4) is the same as %=, but with the added functionality of HtmlEncoding the output. The intention is for this to be the default usage (over %=) to help shield against script injection attacks.

    Directives specify settings that are used by the page and user-control compilers when the compilers process ASP.NET Web Forms pages (.aspx files) and user control (.ascx) files.

    ASP.NET treats any directive block (<%@ %>) that does not contain an explicit directive name as an @ Page directive (for a page) or as an @ Control directive (for a user control).

    @Esteban - Added a msdn link to directives. If you need...more explanation, please let me know.

提交回复
热议问题