Как показать фрейм, если валидное сообщение действительно в Razor?
Я ищу какое-то время решение, но не могу его найти. У меня есть этот ValidateMessageFor в моей Razor, которые показывают сообщение об ошибке, если оно приходит туда.
Теперь я создал этот 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">×</span><span class="sr-only">Close</span></button>@Html.Raw(@Html.ValidationMessageFor(u => u.CustomType))
</p>
}
}
Но это не работает. Проблема в том, что кадр всегда отображается (внутри нет сообщения об ошибке, пока я не сделаю ошибку, а затем отображается сообщение об ошибке). Вот как это выглядит, когда я прихожу в эту форму:
Если ошибка показывает:
1 ответ
Решение
Попробуй это: @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>
}
}