Asp.Net MVC - ValidationMessage() - 如何防止HTML转义?

时间:2009-07-02 12:55:10

标签: asp.net-mvc validation escaping

在我的场景中,我想在MVC视图上的表单元素附带的验证消息中显示带有URL链接的文本。我正在使用ValidationExtensions.ValidationMessage扩展方法,如下所示:

<%=Html.ValidationMessage(Model.Name) %>

我看到的行为是验证消息是HTML转义的,有效阻止我添加消息链接。有办法规避这种行为吗?我的错误消息不是用户提供的,所以我认为我不必担心输出清理......

2 个答案:

答案 0 :(得分:3)

我猜测,因为Html.ValidationMessage是内置的,你要么创建自己的版本,要么你感觉很有创意,因为它返回一个字符串,然后分配它然后取消你想要的字符。改回来。

string validation = Html.ValidationMessage(Model.Name);
validation = Regex.Replace(validation, "&gt;", "<");
//etc...

答案 1 :(得分:3)

您可以使用HttpUtility.HtmlDecode(...)方法以及Html.ValidationMessage(...)方法来完成错误:D