c# - 始终使用 MVC3 和 Razor 输出原始 HTML

标签 c# asp.net asp.net-mvc-3 razor

我有一个类,其属性如下所示:

[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/

相关文章:

c# - 如何从 Angular Reactive Form 接收文件上传?

c# - 解决 Razor 重大变化的最佳方法

c# - 在 C# 2.0 中将 Dictionary<string,List<foo>> 转换为 List<foo>

c# - 如何处理不支持绑定(bind)的图表?

c# - 用 [Authorize] 属性装饰的 Controller 的集成测试

javascript - 如何显示图片弹出窗口

asp.net-mvc - ASP.NET MVC 快速教程

asp.net-mvc-3 - 将 Google 图表 API 与 MVC 3 Razor 和 jquery ajax 结合使用

c# - ParameterInfo.ParameterType 是 "SqlBytes&",如何与 typeof() 比较

c# - 如何在应用程序设置中保存图像或文件流? UWP C#