【问题标题】:Razor - How to display html content in a div tag?Razor - 如何在 div 标签中显示 html 内容?
【发布时间】:2012-06-21 19:16:50
【问题描述】:

这是我的剃须刀代码:

       <fieldset>
            <legend>Headline News</legend>

                @foreach (var item in Model)
                {
                    <div>@Html.DisplayFor(modelitem => item.Description)</div>
                }
        </fieldset>

item.Description 的值是 HTML:

<table border="0" cellpadding="2" cellspacing="7" style="vertical-align:top;"><tr><td width="80" align="center" valign="top">
   {{ table info }}
</table>

我实际上想显示 HTML 内容,但它显示为 HTML 标记。提前致谢!

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 razor


    【解决方案1】:

    你应该使用:

    @foreach (var item in Model)
    {
        <div>@Html.Raw(item.Description)</div>
    }
    

    【讨论】:

    • 但是,对我有用的正确语法是:
      @Html.Raw(item.Description)
    【解决方案2】:

    你需要使用@Html.Raw()

    @Html.DisplayFor(modelitem => @Html.Raw(item.Description))
    

    【讨论】:

      【解决方案3】:

      你不一定需要使用@Html.Raw,除非有一些HTML标签需要解析为HTML。你也可以使用

      <fieldset>
      <legend>Headline News</legend>
      @foreach (var item in Model)
      {
      <div>@item.Description</div>
      }
      </fieldset>
      

      如果您想使用@Html.Raw,请务必使用@Html.AttributeEncode 以防止脚本注入

      【讨论】:

      • 如何使用@Html.AttributeEncode ?另外,
        @item.Description
        给了我语法错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      相关资源
      最近更新 更多