数据库中的HTML显示为纯文本

时间:2013-03-26 13:58:27

标签: c# asp.net-mvc-4

我正在使用Code First,每次模型更改时,我都会将测试数据引入数据库。 当我执行以下操作时会出现问题:

 context.News.Add(new News
            {
                Id = 3,
                NewsTitle = "title",
                NewsImage = "thumb.jpg",
                NewsText = "text",
                Venue = @"<iframe width=""1000"" height=""350"" frameborder=""0"" scrolling=""no"" marginheight=""0"" marginwidth=""0"" src=""https://maps.google.ro/maps?hl=ro&amp;ie=UTF8&amp;t=h&amp;ll=46.778815,23.614479&amp;spn=0.002572,0.010718&amp;z=17&amp;output=embed""></iframe>"
             });

我试过用\而不是双引号......仍然没有。问题是,当我在页面上使用“Venue”时,它显示为纯文本:

<div style="margin-top: 10px;">
     @News.Venue
</div>

我该怎么办才能把它变为html?

2 个答案:

答案 0 :(得分:1)

使用

@Html.Raw(News.Venue)

这将在原始HTML中输出News.Venue,未编码。有关详细信息,请参阅HtmlHelper.Raw on MSDN。您当然可以要小心.Venue中的内容,如果它来自第三方,并从脚本或不需要的内容中清除它。

答案 1 :(得分:0)

有一个特定的MvcHtmlString class用于存储HTML编码的字符串,在渲染时不应再次编码。