【问题标题】:How to display HTML stored in a database from an ASP.NET MVC view?如何从 ASP.NET MVC 视图显示存储在数据库中的 HTML?
【发布时间】:2010-09-22 23:02:50
【问题描述】:

我将由 FCKEditor 编辑的 HTML 代码存储在数据库中,并希望将其显示(很好地呈现)到视图上。因此,例如,存储为:

<>pre<>This is some sample text<>pre</&gt

将向用户显示为:

This is some sample text

(使用适当的预格式化文本样式)

视图已经具有从ViewData 显示所需的字符串,我只是不确定向用户显示它的最佳方式是什么。

【问题讨论】:

    标签: html asp.net-mvc html-encode


    【解决方案1】:

    试试这个:

    <%= System.Web.HttpUtility.HtmlDecode(yourEncodedHtmlFromYouDatabase) %>
    

    更多信息here.

    【讨论】:

    • 这不适用于 Razor,对于 Razor 使用 @Html.Raw(System.Web.HttpUtility.HtmlDecode(Model.yourhtmlvalue))
    • 检查我的回答日期.. 它是 PRE Razor :P
    • 感谢您提请我注意此日期 Pure,我仅引用某人的信息,当您发布您的答案时,其真正的 Razor 并不存在。
    【解决方案2】:

    Pure.Krome 提供的答案对于 MVC2 来说是完美无缺的,但请考虑 Razor 语法:

    @Html.Raw(System.Web.HttpUtility.HtmlDecode(Model.yourEncodedHtmlFromYourDatabase))
    

    或者,

    @Html.Raw(Server.HtmlDecode(Model.yourEncodedHtmlFromYourDatabase))
    

    【讨论】:

    • 我怎样才能使它成为一个链接文本
    【解决方案3】:

    你想使用@Html.Raw(str)

    更多信息请参见MSDN

    返回非 HTML 编码的标记。

    此方法使用 IHtmlString 类包装 HTML 标记,该类呈现未编码的 HTML。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      相关资源
      最近更新 更多