如何将viewbag显示为html?

Dav*_*her 28 c# asp.net viewbag asp.net-mvc-3

好的,对于ASP.Net MVC来说还是新手,所以如果这是一个愚蠢的问题我很抱歉,但我如何将ViewBag的值显示为HTML.例如,如果ViewBag.SomeMessage包含以下文本:

<h3>Test</h3><p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>TEST</p>

我将如何实际将页面呈现为普通HTML?或者有一种更简单的方法来实现这一点,我完全失踪了?

干杯!

Kal*_*exx 59

每个人的使用都是正确的,@Html.Raw()但我想指出要小心这一点,因为它可能会使您的网站容易受到XSS漏洞的影响.

我将@Html.Raw(ViewBag.SomeMessage)Microsoft的Anti-XSS库结合使用,以确保您不会引入任何漏洞.

编辑: 防XSS库的好处(如果你没有看过它)是它已批准加价的白名单(如<b>,<h3>等..),以便只批准加价将未编码.

Edit2: 这是一个如何完成的例子.


Tej*_*ejs 19

你会使用这个Raw方法:

 @Html.Raw(ViewBag.SomeMessage)
Run Code Online (Sandbox Code Playgroud)

  • 回报恩惠:)哈哈 (2认同)

sla*_*dau 9

我想你可以这样做:

@Html.Raw(ViewBag.SomeMessage)
Run Code Online (Sandbox Code Playgroud)


Dar*_*rov 8

@Html.Raw(ViewBag.SomeHtmlProperty)
Run Code Online (Sandbox Code Playgroud)

这就是说,这是我的免责声明:不要使用ViewBag.使用强类型视图和视图模型.ViewBag/ViewData就像是ASP.NET MVC应用程序的癌症.