c# - MVC5 Ajax.BeginForm 刷新整个页面

标签 c# asp.net-mvc ajax.beginform

为什么表单发布不是通过 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/

相关文章:

c# - 使用源代码管理将 Unity 项目移动到另一台机器后,预制件和脚本丢失

javascript - 在 MVC 中移动 javascript 后,ActiveX 中的访问被拒绝

ajax - 防止在 Ajax.BeginForm 上重新加载

c# - 枚举 Linq 查询结果

c# - 如何使用 C# 获取身份验证 token 以获取 VSO 工作项

c# - 如何在 C# 中将 "import"设置为静态类?

asp.net-mvc - 使用 Ninject 将类注入(inject) IModelBinder

asp.net - RedirectToAction 不刷新页面

javascript - 为 OnBeign 分配多个功能