【问题标题】:What is the difference between <%: and <%= in ASP.NET MVC?ASP.NET MVC 中的 <%: 和 <%= 有什么区别?
【发布时间】:2010-07-29 21:16:52
【问题描述】:

我在任何地方都找不到此信息。可能是因为谷歌忽略了关键字。在您的 aspx 页面中使用 &lt;%:&lt;%= 有区别吗?它们似乎可以互换。

【问题讨论】:

    标签: asp.net .net asp.net-mvc tags


    【解决方案1】:

    &lt;%: %&gt;a new thing in ASP.NET MVC 2。与&lt;%= Html.Encode("Text") %&gt; 相同。建议始终使用&lt;%: %&gt;,除非您有特定的理由不这样做(例如,您正在渲染来自已编码的某个文件或数据库的数据)。

    【讨论】:

    • 此语法在 Razor 中是否有等价形式?
    【解决方案2】:

    区别在于:

    &lt;%= "my &lt;text&gt;" %&gt; 会输出my &amp;lt;text&amp;gt;,这是不正确的 HTML

    &lt;%: "my &lt;text&gt;" %&gt;会输出my &amp;lt;text&amp;gt;,这样更好

    More details here

    【讨论】:

      【解决方案3】:

      @ntcolonel 是对的。此外,对于您的数据已经编码的情况,请使用任何实现 IHtmlString 的方式提供它。这可以防止双重编码,并允许您始终使用&lt;%: %&gt;

      我相信 ASP.NET 4 商店应该倾向于通过政策强制执行 。

      此外,新语法一般适用于 ASP.NET 4;不一定只是 MVC,这对 WebForms 开发人员来说是个好消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-03
        • 2011-05-06
        • 2023-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多