我有一个类,其属性如下所示:
[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
属性以返回 HtmlString
。
Razor 不会转义 HtmlString
值。
(事实上,所有 Html.Raw
所做的就是创建一个 HtmlString
)
关于c# - 始终使用 MVC3 和 Razor 输出原始 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6216340/