我正在使用ajax.beginform来创建一个ajax登录弹出窗口。 第一次一切正常,但是当我第二次提交时(在模型验证的错误消息之后),它不再用内容更新我的div,而是刷新页面并在空白页面中显示局部视图。它不再做ajax了。
我已经包含了所有需要的javascripts。
我的部分观点:
@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>
我的父视图包含此部分
<div id="login-partial-update">
@Html.Partial("Widgets/Login/_LoginInput", new LoginInputModel())
</div>
所有这些都发生在javascript模式对话框
中