如何使用MVC3 Razor从Viewbag呈现HTML

我试图通过使用Viewbag传递一个表单元素到一个MVC3视图,只需将HTML写入页面…

在控制器中:

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

鉴于(我知道我可以使用一个帮手的forms):

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

所以我的问题是如何让剃刀做相当于旧的:

 <%= myData %> 

而不是replace<>

谢谢Paul

使用@Html.Raw(ViewBag.Mydata)

这应该做的工作

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

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

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