当我单击验证消息 mvc 中的超链接时,验证错误消息消失了
我的验证消息是
Please enter a <a href='http://www.somewebsite.com/somepage.htm' title='Information Requests.'>valid entity number</a>.
在我拥有的网页上,
@Html.Raw(Server.HtmlDecode(@Html.ValidationMessageFor(m => m.FirstName, string.Empty, new { @class = "text-danger" }).ToString()))
在 href 中指定的目标 URL 未打开。错误消息只是消失了。请建议
假设您在控制器操作方法中ModelState.AddModelError
,如下所示:
String message = "Please enter a <a href='http://www.somewebsite.com/somepage.htm' title='Information Requests.'>valid entity number</a>.";
ModelState.AddModelError("FirstName", message);
然后,您需要此代码在视图中显示超链接部分:
@Html.Raw(Server.HtmlDecode(Html.ValidationMessageFor(m => m.FirstName, string.Empty, new { @class = "text-danger" }).ToHtmlString()))
不要ToString()
只转换为字符串而不更改 HTML 标记,而是使用ToHtmlString()
(MSDN 参考),它从ValidationMessageFor
返回 HTML 编码的字符串。
简单示例:.NET 小提琴
类似问题:
如何在 MVC ASP.NET 验证消息中呈现 html?
验证摘要消息中的链接