私はこのAjaxフォームを持っています
@using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "POST", OnSuccess = "SucessoCriarUsuario", OnFailure = "FalhaCriarUsuario" }))
{
<div class="separador">
<div class="linha1">
@Html.LabelFor(m => m.Nome)
<br />
@Html.TextBoxFor(m => m.Nome)
@Html.ValidationMessageFor(m => m.Nome)
</div>
<div class="linha1">
@Html.LabelFor(m => m.Login)
<br />
@Html.TextBoxFor(m => m.Login)
@Html.ValidationMessageFor(m => m.Login)
</div>
<div class="linha2">
@Html.LabelFor(m => m.Email)
<br />
@Html.TextBoxFor(m => m.Email)
@Html.ValidationMessageFor(m => m.Email)
</div>
</div>
<br />
<br />
<div class="separador">
<div class="linha2">
@Html.LabelFor(m => m.Perfil)<br>
@Html.DropDownListFor(m => m.Perfil, new SelectList(UsuarioController.ObterListaPerfis(User.Identity.Name)))
</div>
<div class="linha2">
@Html.LabelFor(m => m.Ativacao)<br>
@Html.DropDownListFor(m => m.Ativacao, new SelectList(new List<string> { "Ativo", "Inativo" }))
</div>
<div class="linha2">
<br>
<input type="submit" value="Salvar" />
<input type="button" id="btnCancelar" value="Cancelar" />
</div>
</div>
}
そして、validationmessageforフィールドとtextBoxForフィールドのオーバーライドcssがあります...しかし、これらのオーバーライドクラスを持つcssファイルをインポートすると...
<head>
<link href="@Url.Content("~/Content/ModalStyle.css")" rel="stylesheet" type="text/css" />
</head>
CSS は、validationmessageFor と textBoxFor では機能しません... CSS を同じページに配置した場合にのみ機能します
<head>
<style type="text/css">
.input-validation-error
{
border: 1px solid red;
}
.field-validation-error
{
color: red;
font-weight: bold;
}
</style>
</head>
このようにうまくいきました....それはなぜですか?どんな助けでもいただければ幸いです