Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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
C# HTML解码和编码_C#_Html_Asp.net Mvc 3_Decode_Encode - Fatal编程技术网

C# HTML解码和编码

C# HTML解码和编码,c#,html,asp.net-mvc-3,decode,encode,C#,Html,Asp.net Mvc 3,Decode,Encode,我试图解码MVC3Razor应用程序数据库中的html文本。 数据库中的html文本未编码。 我尝试了httpUtility.decode、server.decode,但它们都不起作用。 最后,我设法使它与Html.raw(string) 非工作代码示例 @Server.HtmlDecode(item.ShortDescription) @HttpUtility.HtmlDecode(item.ShortDescription) 你知道为什么我们不能在我的情况下使用html.decode吗 我

我试图解码MVC3Razor应用程序数据库中的html文本。 数据库中的html文本未编码。 我尝试了httpUtility.decode、server.decode,但它们都不起作用。 最后,我设法使它与
Html.raw(string)

非工作代码示例

@Server.HtmlDecode(item.ShortDescription)
@HttpUtility.HtmlDecode(item.ShortDescription)
你知道为什么我们不能在我的情况下使用html.decode吗


我认为这样可以节省其他人几个小时的查找时间。

如果希望在不使用任何HTML编码的情况下按原样显示值,可以使用HTML.Raw帮助程序:

@Html.Raw(item.ShortDescription)
请注意,这样做会使您的站点受到XSS攻击,因此您应该非常小心此ShortDescription属性包含的HTML内容。如果是用户输入的,您应该绝对确保它是安全的。你可以用这个

你知道为什么我们不能在我的情况下使用html.decode吗


因为Html.Decode返回一个字符串,当您将一个字符串馈送到
@()
Razor函数时,它会自动对其再次进行Html编码,并破坏您以前的工作。这就是
Html.Raw
帮助程序存在的原因。

它可以很好地对文本进行解码,但是当使用
@
语法将文本放入页面时,它将自动重新编码


该方法将字符串包装在一个
HtmlString
中,告诉razor引擎在放入页面时不要对其进行编码。

您希望解码哪种编码?示例输入和所需输出可能会使您的问题更清楚。