asp.net-mvc – ModelState.AddModelError编码HTML

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ModelState.AddModelError编码HTML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我使用ModelState.AddModelError验证我的表单上的输入时,我注意到一个奇怪的问题. Html.ValidationMessage的输出不是真正的HTML值,而是编码的值,因此CSS样式不会应用于错误消息.

例:

private string errorMessage = "<span class=\"negative\">{0}</span><br class=\"hid\" />";
ModelState.AddModelError("title",String.Format(errorMessage,"Tab title is required"));

输出显示为:

<span class="field-validation-error">&lt;span class=&quot;negative&quot;&gt;URL is required&lt;/span&gt;&lt;br class=&quot;hid&quot; /&gt;</span>

这并不是他们早期的测试版的情况,我不知道在这里采取什么方法.

谢谢
缺口

解决方法

还有另一种方式来做,而不必创建自己的扩展名.

例如我们在我们的控制器中有以下几个:

ModelState.AddModelError("Name","<b>Please Use a Valid Person Name</b>");

我们可以在我们看来做以下事情:

@if(Html.ValidationMessageFor(x => x.Name) != null){
    @Html.Raw(Html.ValidationMessageFor(x => x.Name).ToString())
}

将会阻止’< b>的错误消息请使用有效人员名称< / b>‘从编码.

猜你在找的asp.Net相关文章