gpt4 book ai didi

asp.net-mvc-3 - 使用 MVC Razor 的 Html.Encode HTML Helper 的意外行为

转载 作者:行者123 更新时间:2023-12-01 22:53:17 25 4
gpt4 key购买 nike

我正在尝试通过 Razor View 向浏览器显示文本 HTML。

我的代码中有这样的内容:

@Html.Encode("<!-- foo -->")

我期待 Html.Encode 助手返回

&lt;-- foo --&gt;

但相反,它返回

&amp;lt;!-- foo --&amp;gt;

编码助手似乎对字符串进行了两次编码。

因此,为了获得我想要的输出,我必须像这样用 Raw 帮助器包装 Encode 帮助器

@Html.Raw(Html.Encode("<!-- foo -->"))

我是 MVC/Razor 新手,因此这种行为让我有点困惑,并且不确定我对 Html.Encode 应该 行为方式的期望是否正确。

继续使用 Razor,当我想将字符串编码为 HTML 时,我是否应该接受它并养成用 Html.Raw 包装 Html.Encode 的习惯?在 Razor 中是否有“更好”的方法来编码 HTML 字符串?

最佳答案

@ 语法执行 HTML 编码。通过使用@Html.Encode,您可以手动编码,然后@对您已经编码的内容进行编码。

所以,要得到你想要的东西,只需做

@("<!-- foo -->")

关于asp.net-mvc-3 - 使用 MVC Razor 的 Html.Encode HTML Helper 的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com