2010-09-15 116 views
2

我想在我的消息添加超链接一样使用asp.net的MVC 2.我怎样才能做到这一点如何添加超链接ModelState.AddModelError

ModelState.AddModelError("_FORM", "Please report this error <a href="asdf.aspx">Click Here</a>"); 

林?

+3

编写您自己的不会编码消息的Html.ValidationMessage()和Html.ValidationSummary()。这相对容易。 – queen3 2010-09-15 08:39:03

回答

1

问题是ValidationMessageValidationSummary方法在内部使用SetInnerText()方法,该方法会自动编码已保存在模型错误中的值。

和queen3一样,你必须编写你自己的这些方法来克服这个问题。

您可以在the MVC2 source code here中看到原始方法。

更换tagNameHere.SetInnerText(value)tagNameHere.InnerHtml = value

重要提示:请确保你用在哪里这些消息显示的信息从何而来,你允许HTML现在很小心,所以你容易Cross Site Scripting