5

这是我的剃须刀代码:

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

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

的值为item.DescriptionHTML:

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

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

4

3 回答 3

19

你应该使用:

@foreach (var item in Model)
{
    <div>@Html.Raw(item.Description)</div>
}
于 2012-06-21T19:20:15.403 回答
2

你需要使用@Html.Raw()

@Html.DisplayFor(modelitem => @Html.Raw(item.Description))
于 2012-06-21T19:21:49.627 回答
0

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

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

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

于 2012-06-21T19:29:14.653 回答