Asp.net mvc 如果验证消息在Razor中有效,如何显示帧?

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

我正在寻找一段时间的解决方案,但我找不到。我的剃须刀中有这个ValidateMessageFor,如果它出现在那里,它会显示错误消息

现在我已经为这个消息创建了这个css框架,我不希望只有在有一些ValidateMessage的情况下才会显示它

我试过这个:

@{
    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">&times;</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">&times;</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())
当我进入页面时,它在开始时起作用。但当我尝试提交时(输入中没有任何内容,所以显示错误),代码并没有执行