0

私はこの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>

このようにうまくいきました....それはなぜですか?どんな助けでもいただければ幸いです

4

1 に答える 1