如何使用MVC3 Razor从Viewbag渲染HTML

时间:2011-10-13 15:22:09

标签: html asp.net-mvc asp.net-mvc-3 razor viewbag

我正在尝试使用Viewbag将表单元素传递到MVC3视图中,只需将HTML写入页面...

在控制器中:

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

在视图中(我知道我可以使用表单的帮助程序):

<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 %>

而不是替换&lt;&gt;

由于 保罗

2 个答案:

答案 0 :(得分:168)

使用@Html.Raw(ViewBag.Mydata)

答案 1 :(得分:21)

这应该做的工作

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

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

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