好吧,对于 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?还是有一种我完全想念的更简单的方法来实现这一目标?
干杯!
最佳答案
大家对@Html.Raw()
的使用是正确的但我想指出要小心,因为它会使您的网站容易受到 XSS 漏洞的影响。
我会结合 @Html.Raw(ViewBag.SomeMessage)
与 Microsoft's Anti-XSS Library以确保您不会由此引入任何漏洞。
编辑:
Anti-XSS 库的优势(如果你没有看过的话)是它有一个批准标记的白名单(例如 <b>
、 <h3>
等),因此只有批准的标记才会被取消 -编码。
编辑2: Here's an example这是如何完成的。
关于c# - 如何将 viewbag 显示为 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7285790/