Ajax.beginform not updating div second time

576 Views Asked by At

I am using ajax.beginform to make an ajax login popup. Everything works fine the first time, but when I submit a second time (after an error message from model validation) it no longer updates my div with the content but refreshes the page and shows the partial view in a blank page. It's not doing the ajax anymore.

I have included all javascripts needed.

My partial view:

@using (Ajax.BeginForm("Login", "Account", null, new AjaxOptions
{
    UpdateTargetId = "login-partial-update",
    HttpMethod = "POST",
    OnSuccess = "loginSuccess"
}, new { id = "js-form-login" }))
{
    <div class="fluid-row-margin">
        <div class="cell12">
            @Html.TextBoxFor(x => x.Email, new { placeholder = "Email address" })
            <div class="errormessage">
                @Html.ValidationMessageFor(x => x.Email)
            </div>
        </div>
    </div>
    <div class="fluid-row-margin">
        <div class="cell12">
            @Html.PasswordFor(x => x.Password, new { placeholder = "Password" })
            <div class="cell12 errormessage">
                @Html.ValidationMessageFor(x => x.Password)
            </div>
        </div>
    </div>
    <div class="fluid-row-margin">
        <div class="cell1">
            @Html.CheckBoxFor(x=>x.RememberMe)
        </div>
        <div class="cell11">Remember me</div>
    </div>
    <div class=" errormessage">
        @if (Model.HasErrors)
        {
            <br />@Model.ErrorMessages
        }
    </div>
}
<script type="text/javascript">
    $.validator.unobtrusive.parse("#js-form-login");
</script>

My parent view includes this partial

<div id="login-partial-update">
            @Html.Partial("Widgets/Login/_LoginInput", new LoginInputModel())
</div>

All this is happening inside a javascript modal dialog

0

There are 0 best solutions below