Asp.net mvc 如果验证消息在Razor中有效,如何显示帧?
我正在寻找一段时间的解决方案,但我找不到。我的剃须刀中有这个ValidateMessageFor,如果它出现在那里,它会显示错误消息 现在我已经为这个消息创建了这个css框架,我不希望只有在有一些ValidateMessage的情况下才会显示它 我试过这个:Asp.net mvc 如果验证消息在Razor中有效,如何显示帧?,asp.net-mvc,validation,razor,validationmessage,Asp.net Mvc,Validation,Razor,Validationmessage,我正在寻找一段时间的解决方案,但我找不到。我的剃须刀中有这个ValidateMessageFor,如果它出现在那里,它会显示错误消息 现在我已经为这个消息创建了这个css框架,我不希望只有在有一些ValidateMessage的情况下才会显示它 我试过这个: @{ if (@Html.ValidationMessageFor(u => u.CustomType) != null) { <p class="alert alert-danger alert-dis
@{
if (@Html.ValidationMessageFor(u => u.CustomType) != null)
{
<p class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>@Html.Raw(@Html.ValidationMessageFor(u => u.CustomType))
</p>
}
}
@{
if(@Html.ValidationMessageFor(u=>u.CustomType)!=null)
{
&时代;Close@Html.Raw(@Html.ValidationMessageFor(u=>u.CustomType))
}
}
但这是行不通的。问题是帧始终显示(内部并没有错误消息,直到我出错,然后错误消息显示)。当我来到这个表格时,它是这样的:
如果错误显示:
试试这个:@Html.Raw(Server.HtmlDecode(@Html.ValidationMessageFor(u=>u.CustomType.ToString())))
完整代码:
@{
if (!String.IsNullOrEmpty(@Html.ValidationMessageFor(u => u.CustomType).ToString()))
{
<p class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
<span class="sr-only">Close</span>
</button>
@Html.Raw(Server.HtmlDecode(@Html.ValidationMessageFor(u => u.CustomType).ToString())))
</p>
}
}
@{
如果(!String.IsNullOrEmpty(@Html.ValidationMessageFor(u=>u.CustomType.ToString()))
{
&时代;
接近
@Html.Raw(Server.HtmlDecode(@Html.ValidationMessageFor(u=>u.CustomType.ToString()))
}
}
您可以编写自己的validationMessageHelper:ValidationMessage工作,问题是,如果显示错误,我不想在类中显示它。当前代码在提交前始终显示我的css(无错误消息)帧?因此,检查@Html.ValidationMessageFor(u=>u.CustomType).ToString()
是否为null空…例如:String.IsNullOrEmpty(@Html.ValidationMessageFor(u=>u.CustomType).ToString())
当我进入页面时,它在开始时起作用。但当我尝试提交时(输入中没有任何内容,所以显示错误),代码并没有执行