我正在显示我的“新闻”页面,我希望客户能够输出一些简单的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>
}
当我这样做时,浏览器不会呈现html,它只是将html显示为文本。
我可以输出浏览器渲染它的html吗?
答案 0 :(得分:6)
您没有准确指定哪个部分显示为文字,但如果是item.Body
,请改为@Html.Raw(item.Body)
。这将一个字符串转换为IHtmlString,其目的是告诉Razor这个东西保证按原样输出是安全的,并且不会包含像XSS攻击这样的恶意(确保使用Html.Raw是你的工作)。一切不是IHtmlString的东西都将被Razor自动转义。