用剃刀显示编码的html
我将编码的HTML存储在数据库中。
我能正确显示它的唯一方法是:
<div class='content'> @MvcHtmlString.Create(HttpUtility.HtmlDecode(Model.Content)); </div>
它很丑。 有没有更好的方法来做到这一点?
尝试这个:
<div class='content'> @Html.Raw(HttpUtility.HtmlDecode(Model.Content)) </div>
使用Html.Raw()
。 Phil Haack在http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx上发布了一个很好的语法指南。;
<div class='content'> @Html.Raw( Model.Content ) </div>
这很简单:
HttpUtility.HtmlDecode(Model.Content)
另一个解决scheme,你也可以返回一个HTMLString,Razor会输出正确的格式:
在视图本身:
@Html.GetSomeHtml()
在控制器中:
public static HtmlString GetSomeHtml() { var Data = "abc<br/>123"; return new HtmlString(Data); }
你也可以简单地使用HtmlString
类
@(new HtmlString(Model.Content))
我将编码的HTML存储在数据库中。
Imho你不应该把你的数据存储在数据库中。 只要存储在纯文本(不编码),只是像这样显示你的数据和你的HTML将被自动编码:
<div class='content'> @Model.Content </div>
- 无法加载文件或程序集“System.Web.WebPages.Razor,版本= 2.0.0.0
- 如何使用ASP.NET MVC ViewModels knockout.js?
- ASP.NET MVC 3 Razor:将JavaScript文件包含在head标签中
- HTML编码string – ASP.NET Web窗体VS Razor视图引擎
- 在ASP.NET MVC中使用Tempdata – 最佳实践
- ASP.NET MVC 3 Razor – 将类添加到EditorFor
- 在ASP.NET MVC中将文件返回到View / Download
- 哪里和如何链接_ViewStart.cshtml布局文件?
- 如何使Html.DisplayFor显示换行符?