Asp.net mvc Html.Raw不解码

Asp.net mvc Html.Raw不解码,asp.net-mvc,Asp.net Mvc,只是一个查询,我以前使用过@Html.Raw(Item.sometext),它正确地解码了Html标记,我从remore source获得了一些json格式的数据,但是当显示在页面上时,我发现Html.Raw没有解码Html标记 要解决我使用的问题,请执行以下操作: @Html.Raw(HttpUtility.HtmlDecode(Item.sometext)) 所以我的问题是,谁能告诉我为什么会这样,因为我很好奇原因。Im使用mvc4和asp.net 4.5 谢谢 乔治以下是我的答案,试图更

只是一个查询,我以前使用过
@Html.Raw(Item.sometext)
,它正确地解码了Html标记,我从remore source获得了一些json格式的数据,但是当显示在页面上时,我发现Html.Raw没有解码Html标记

要解决我使用的问题,请执行以下操作:

@Html.Raw(HttpUtility.HtmlDecode(Item.sometext))
所以我的问题是,谁能告诉我为什么会这样,因为我很好奇原因。Im使用mvc4和asp.net 4.5

谢谢


乔治

以下是我的答案,试图更好地解释我的意思(在评论中)

您的JSON格式如下(例如您提供的格式):

这是有效的HTML,因此可以毫无问题地传递到
HTML.Raw


注意:
Html.Raw
不进行任何编码/解码,事实上它明确指示不应对提供的值进行编码,因为它已经是原始Html。这是:

当指定的文本表示实际的HTML时,请使用Raw方法 不应编码且希望呈现为的片段 标记到HTTP响应


以下是我的回答,试图更好地解释我的意思(在评论中)

您的JSON格式如下(例如您提供的格式):

这是有效的HTML,因此可以毫无问题地传递到
HTML.Raw


注意:
Html.Raw
不进行任何编码/解码,事实上它明确指示不应对提供的值进行编码,因为它已经是原始Html。这是:

当指定的文本表示实际的HTML时,请使用Raw方法 不应编码且希望呈现为的片段 标记到HTTP响应


我猜是因为JSON格式的编码确保转义字符不会引起任何问题。因此,在使用
Raw
输出之前,需要将其解码回正确的有效JSON。您可以向我们展示一下JSON实例中的
项。someText
看起来像什么。您好,musefan谢谢,但我认为html.raw会解码html标记等,所以我有点困惑,为什么我必须解码和解码againHi musefan片段位置
纽卡斯尔乔治华盛顿水星酒店高尔夫温泉是一家商务友好型酒店,位于华盛顿,靠近北天使华盛顿老大厅,因此您的样本具有
\/
,看起来像一个逃避角色。调用
HtmlDecode
将产生

(删除
`removed),然后
Html.Raw
可以成功地使用它
Html.Raw`不解码任何内容,它只输出与提供的字符串完全相同的字符串(即原始Html),我想这是因为JSON格式的编码确保转义字符不会引起任何问题。因此,在使用
Raw
输出之前,需要将其解码回正确的有效JSON。您可以向我们展示一下JSON实例中的
项。someText
看起来像什么。您好,musefan谢谢,但我认为html.raw会解码html标记等,所以我有点困惑,为什么我必须解码和解码againHi musefan片段位置
纽卡斯尔乔治华盛顿水星酒店高尔夫温泉是一家商务友好型酒店,位于华盛顿,靠近北天使华盛顿老大厅,因此您的样本具有
\/
,看起来像一个逃避角色。调用
HtmlDecode
将产生

(删除
`removed),然后
Html.Raw
可以成功地使用它
Html.Raw`不解码任何内容,它只输出与提供的字符串完全相同的字符串(即原始Html)谢谢musefan,我现在理解得好多了谢谢musefan,我现在理解得好多了
<p><b>Location. <\/b> <br \/>...
<p><b>Location. </b> <br />...