【发布时间】:2011-06-02 15:04:11
【问题描述】:
我有一个具有如下属性的类:
[AllowHtml]
[DataType(DataType.MultilineText)]
public string Description { get; set; }
我已经添加了[AllowHtml] 属性,让我可以通过我构建的表单将 HTML 提交给这个属性,但是我想要做的是在没有它的情况下将属性的值作为原始 HTML 输出被逃跑了。
我知道我可以使用 Html.Raw(Model.Description),但我正在寻找一种告诉 Html.DisplayFor(m => m.Description) 始终输出原始 HTML 的方法。是否有一个属性可以用来装饰我希望表现的类中的属性?
基本上是我懒惰——我不想记住哪些属性可能包含 HTML,所以我不想在需要执行上述操作时考虑使用 Html.Raw(…)——我会更确切地说,我的模型知道它应该做什么并自动执行。我试过寻找答案,但要么我的措辞不正确,要么没有办法:(
谢谢,
【问题讨论】:
-
您可以将
Description属性设置为键入IHtmlString。那应该为你处理它。当然,根据您设置值的方式,它可能不适用于所有情况。
标签: c# asp.net asp.net-mvc-3 razor