如何使用 MVC3Razor 从 Viewbag 渲染 HTML

我试图通过使用 Viewbag 将一个表单元素传递到 MVC3视图,并简单地将 HTML 写入页面..。

控制器:

ViewBag.myData = "<input type=""hidden"" name=""example"" value=""examplevalue"">";

In view (我知道我可以为表单使用助手) :

<form action="http://exampleurl/examplepage" method="post" id="example-form">
@ViewBag.myData
<input type="hidden" name="anotherexample" value="anotherexamplevalue" />
</form>

这将 myData 呈现为 HTML 中的文本,即:

 &lt;type="hidden" name="example" value="examplevalue"&gt;

所以我的问题是,我怎么让 Razor 做相同的事情:

<%= myData %>

并且不替换 < >

谢谢 保罗

95330 次浏览

这个应该可以了

 @Html.Raw((String)ViewBag.myData)

MSDN: 此方法使用 IHtmlString 类包装 HTML 标记,该类呈现未编码的 HTML。

接受和显示未编码的 HTML 时需要小心。

使用 @Html.Raw(ViewBag.Mydata)