如何使用 MVC3 Razor 从 Viewbag 渲染 HTML
我正在尝试使用 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 中的文本 ie:
<type="hidden" name="example" value="examplevalue">
所以我的问题是如何让 Razor 执行与旧版本相同的操作:
<%= myData %>
而不是替换 <>
谢谢 保罗
I am trying to pass a form element into an MVC3 view by using the Viewbag and simply write the HTML to the page ...
In controller:
ViewBag.myData = "<input type=""hidden"" name=""example"" value=""examplevalue"">";
In view (I know I could use a helper for the form):
<form action="http://exampleurl/examplepage" method="post" id="example-form">
@ViewBag.myData
<input type="hidden" name="anotherexample" value="anotherexamplevalue" />
</form>
This renders the myData as text in the HTML i.e.:
<type="hidden" name="example" value="examplevalue">
So my question is how do I get Razor to do the equivalent of older:
<%= myData %>
and not replace the <>
Thanks
Paul
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用@Html.Raw(ViewBag.Mydata)。
Use
@Html.Raw(ViewBag.Mydata)
.这应该可以完成这项工作
MSDN:此方法使用 IHtmlString 类包装 HTML 标记,该类呈现未编码的 HTML。
您需要小心接受和显示未编码的 HTML。
This should do the job
MSDN: This method wraps HTML markup using the IHtmlString class, which renders unencoded HTML.
You need to be careful with accepting and displaying un-encoded HTML.