Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 使用MVC Razor的意外行为';编码Html帮助程序_Asp.net Mvc 3_Razor_Encode - Fatal编程技术网

Asp.net mvc 3 使用MVC Razor的意外行为';编码Html帮助程序

Asp.net mvc 3 使用MVC Razor的意外行为';编码Html帮助程序,asp.net-mvc-3,razor,encode,Asp.net Mvc 3,Razor,Encode,我试图通过Razor视图向浏览器显示文字HTML 我在代码中有类似的内容: @Html.Encode("<!-- foo -->") 但相反,它又回来了 &amp;lt;!-- foo --&amp;gt; 似乎编码辅助程序对字符串进行了两次编码 因此,为了获得我想要的输出,我必须像这样用原始辅助对象包装编码辅助对象 @Html.Raw(Html.Encode("<!-- foo -->")) @Html.Raw(Html.Encode(“”) 我

我试图通过Razor视图向浏览器显示文字HTML

我在代码中有类似的内容:

@Html.Encode("<!-- foo -->")
但相反,它又回来了

&amp;lt;!-- foo --&amp;gt;
似乎编码辅助程序对字符串进行了两次编码

因此,为了获得我想要的输出,我必须像这样用原始辅助对象包装编码辅助对象

@Html.Raw(Html.Encode("<!-- foo -->"))
@Html.Raw(Html.Encode(“”)
我是MVC/Razor的新手,所以这种行为让我有点困惑,也不确定我对Html.Encode应该如何运行的期望是否正确


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

操作符已经在Razor中编码HTML(除非参数是实例)。因此,您可以尝试:

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

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

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

@("<!-- foo -->")
@(“”)
&lt;!-- foo --&gt;
@("<!-- foo -->")