为什么表单发布不是通过 ajax 而是重新加载到新页面?
我的 .js 包括:
<script src="/App/JavaScript/Libraries/jquery-1.11.1-min.js"></script>
<script src="/App/JavaScript/Libraries/jquery.validate.js"></script>
<script src="/App/JavaScript/Libraries/jquery.validate.unobtrusive.js"></script>
我的 Razor 观点:
<div id="login-partial-update">
@using (Ajax.BeginForm("Login",null, new AjaxOptions
{
UpdateTargetId = "login-partial-update",
HttpMethod = "POST"
}, new { id = "js-form-login" }))
{
@Html.TextBoxFor(x => x.Email, new {placeholder = "Email address"})
<div class="errormessage">
@Html.ValidationMessageFor(x=>x.Email)
</div>
@Html.PasswordFor(x => x.Password, new {placeholder = "Password"})
<div class="errormessage">
@Html.ValidationMessageFor(x => x.Password)
</div>
}
</div>
我的 Controller 代码:
[HttpPost]
public ActionResult Login(LoginInputModel login)
{
return PartialView("Widgets/Popups/_LoginInput", login);
}
我是不是忘记了什么?
最佳答案
您必须在 View 中包含 jquery.unobtrusive-ajax.js
文件才能使 Ajax.BeginForm
正常工作。
关于c# - MVC5 Ajax.BeginForm 刷新整个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27242986/