Ero*_*ocM 0 html c# asp.net-mvc razor
我正在显示我的"新闻"页面,我希望客户能够输出一些简单的HTML.
我的观点如下:
@using SuburbanCustPortal.SuburbanService
<br />
@foreach (var item in (IEnumerable<TokenNews>) ViewBag.News)
{
<div class="fulldiv">
<fieldset>
<legend>@item.Title</legend>
<div>
@item.Body
</div>
</fieldset>
</div>
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,浏览器不会呈现html,它只是将html显示为文本.
我可以输出浏览器渲染它的html的任何方式吗?
您没有确切地指定哪个部分显示为文本,但如果是item.Body,则执行此操作@Html.Raw(item.Body).这将一个字符串转换为IHtmlString,其目的是告诉Razor这个东西保证按原样输出是安全的,并且不会包含像XSS攻击这样的恶意(确保在使用Html.Raw时这是你的工作).一切不是IHtmlString的东西都将被Razor自动转义.