如何从 ASP.NET MVC 视图显示存储在数据库中的 HTML?

Posted

技术标签:

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

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

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

将向用户显示为:

This is some sample text

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

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

【问题讨论】:

【参考方案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。

【讨论】:

以上是关于如何从 ASP.NET MVC 视图显示存储在数据库中的 HTML?的主要内容,如果未能解决你的问题,请参考以下文章

如何在asp.net mvc视图中显示数据库记录

如何将消息从我的存储库类返回到我的控制器,然后返回到我在 asp.net-mvc 中的视图?

asp.net mvc 从视图中的文本框获取数据返回存储过程以编辑记录

如何在 ASP.NET MVC 视图中显示 2 个列表

MVC asp.net 从网络文件夹加载图像

ASP.NET MVC RedirectToAction 在从视图中发布 AJAX 后不起作用