0

我正在显示我的“新闻”页面,我希望客户能够输出一些简单的 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的任何方式吗?

4

1 回答 1

5

您没有确切指定哪个部分显示为文本,但如果是item.Body,请@Html.Raw(item.Body)改为执行。这会将一个字符串变成一个 IHtmlString,其目的是告诉 Razor,这个东西可以保证按原样输出是安全的,并且不会包含像 XSS 攻击这样的讨厌的东西(在使用 Html.Raw 时确保这一点是你的工作)。所有不是 IHtmlString 的东西都会被 Razor 自动转义。

于 2012-12-30T19:03:27.183 回答