从ToString输出HTML而不使用@ Html.Raw

时间:2014-03-25 09:46:24

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

我有一个自定义集合,用于保存我的视图的消息。我重写了ToString方法,以便返回有效的HTML。这允许在视图中轻松引用它。

@Model.Messages

不幸的是HTML正在被编码。

我知道对于属性你可以返回一个IHtmlString,但这需要一个包装器属性(类似@Model.Messages.Render)我也知道在视图中我可以使用@Html.Raw来防止编码但是没有办法通知视图ToString方法返回正确的HTML字符串。也许通过数据注释?

我觉得好像我不得不在我的视图中添加额外的混乱,我宁愿将其封装在我的模型中。

1 个答案:

答案 0 :(得分:2)

使用HttpUtility.HtmlDecode()

怎么样?
@HttpUtility.HtmlDecode(Model.Messages)