【问题标题】:HTML Encoding Strings - ASP.NET Web Forms VS Razor View EngineHTML 编码字符串 - ASP.NET Web 窗体 VS Razor 视图引擎
【发布时间】:2011-05-09 13:52:51
【问题描述】:

我还不太确定这是如何工作的……正在尝试查找文档。

在我现有的应用程序中,我有两种不同的方式在视图中呈现字符串

<%: model.something %>
<!-- or -->
<%= model.something %>

第一个是html编码的,第二个不是。

Razor 中是否有类似的简短内容?我只能找到这个,这是编码版本。

@model.something

【问题讨论】:

    标签: asp.net-mvc-3 razor viewengine html-encode


    【解决方案1】:

    我想最好的方法是使用 Raw 扩展方法:@Html.Raw(Model.Something)

    【讨论】:

    • 我收到了一封来自 Marcind 的电子邮件,说我们实际上应该使用它。
    【解决方案2】:

    @Model.Something 自动进行 HTML 编码。如果您想避免 HTML 编码(并且只有在您完全确定自己在做什么的情况下才想要这样做),您可以使用 @MvcHtmlString.Create(Model.Something)(基本上所有实现 IHtmlString 的东西都不会被编码)。 Phil Haack blogged 关于 Razor 视图引擎语法。

    【讨论】:

    • 很酷,谢谢。你知道他们是否正在研究一种更短的语法来发送未编码的字符串吗?像@=Model.Something 这样的东西会很好。并不是说这是正确的方法,只是一些想法。
    • 我们正在为 Razor v2 寻找类似的东西。
    • 当它实现时我会欣喜若狂。事实上,如果能够在伙伴类中设置它,这样它就可以设置并忘记。 &lt;DisableHtmlEncode()&gt;@Html.EditorFor()
    • +1 表示IHtmlString,但不是答案。我更喜欢@Magnus 的答案是@Html.Raw(Model.Something)
    • 我刚收到 Marcind 的一封电子邮件,说我们实际上应该使用 @Html.Raw()
    猜你喜欢
    • 2011-03-11
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多