在ASP.NET MVC Razor中输出原始字符串

时间:2015-06-15 11:46:37

标签: c# asp.net-mvc razor

我有一个用ASP.NET MVC构建的网站。我的视图模型中有一个字符串,如下所示:

ViewBag.Text = "{\"1\":{\"1\":\"John\",\"2\":\"Bill\",\"3\":\"Paul\"},\"3\":{}}";

我想将此输出到我的视图中:

<input id='myHiddenInput' type='hidden' value='@ViewBag.Text' />

当渲染视图时,隐藏元素如下所示:

<input id='myHiddenInput' type='hidden' value='{&quot;1&quot;:{&quot;1&quot;:&quot;John&quot;,&quot;2&quot;:&quot;Bill&quot;,&quot;3&quot;:&quot;Paul&quot;},&quot;3&quot;:{}}' />

如何更新视图以使输出如下所示:

<input id='myHiddenInput' type='hidden' value='{"1":{"1":"John";,"2":"Bill","3":"Paul"},"3":{}}' />

我知道这似乎很傻。这确实是我需要做的事情。

1 个答案:

答案 0 :(得分:8)

您可以使用Html.Raw输出未编码的数据:

<input id='myHiddenInput' type='hidden' value='@Html.Raw(ViewBag.Text)' />

以下是dotnetfiddle的链接。您可以在文本字段中看到输出,但也有一个隐藏字段,其中包含相同的未编码信息。