Dyl*_*rry 16 c# asp.net razor asp.net-mvc-3
我有一个类看起来像这样的属性:
[AllowHtml]
[DataType(DataType.MultilineText)]
public string Description { get; set; }
Run Code Online (Sandbox Code Playgroud)
我已经放入了[AllowHtml]
属性,让我通过我构建的表单向这个属性提交HTML,但我想要做的是输出属性的值作为原始HTML而不进行转义.
我知道我可以使用,Html.Raw(Model.Description)
但我正在寻找的是一种告诉Html.DisplayFor(m => m.Description)
我始终输出原始HTML的方法.是否有一个属性可以用来装饰我班级的属性,我希望这样做?
基本上我是懒惰 - 我不想要记住哪些属性可能包含HTML,所以我不想Html.Raw(…)
在我需要做上述时考虑使用- 我很多而不是我的模型知道什么它应该做并自动完成.我试过寻找答案,但要么我没有正确地说它或者没有办法做到这一点:(
谢谢,
这实际上相当简单(一旦你知道如何......).将DataType属性更改为[DataType(DataType.Html)]
,并创建部分视图,将其放入Views/Shared/DisplayTemplates/Html.cshtml
,使用:
@model string
@Html.Raw(Model)
Run Code Online (Sandbox Code Playgroud)
当然,您也不能更改DataType attrib,MultilineText.cshtml
而是命名视图而不是Html.cshtml
.
归档时间: |
|
查看次数: |
26064 次 |
最近记录: |