如何使用 MVC3 Razor 从 Viewbag 渲染 HTML

发布于 2024-12-09 10:22:20 字数 692 浏览 0 评论 0原文

我正在尝试使用 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:

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

所以我的问题是如何让 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小情绪 2024-12-16 10:22:20

使用@Html.Raw(ViewBag.Mydata)。

Use @Html.Raw(ViewBag.Mydata).

如若梦似彩虹 2024-12-16 10:22:20

这应该可以完成这项工作

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

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

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

This should do the job

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文