来自控制器的MVC 5刷新页面由AJAX调用

时间:2016-08-06 14:47:04

标签: ajax asp.net-mvc asp.net-mvc-5

我有一个页面,我在模态窗口上显示一个注册表单。 我通过AJAX在控制器上调用Register操作。 当用户输入错误时,我重新加载表单并显示错误摘要。这很好用。 问题是,当寄存器成功时,我想刷新页面,因此关闭模态窗口并刷新用户的列表。 但我无法让它发挥作用。 我的观点:

@using (Ajax.BeginForm("RegisterSubordinate", "ManageUsers", null,
                new AjaxOptions
                {
                    HttpMethod = "POST",
                    AllowCache = false,
                    InsertionMode = InsertionMode.Replace,
                    UpdateTargetId = "_Register"
                }, new { @class = "form-horizontal", id = "UserRegisterForm" }))
            {

            }

控制器:

[HttpPost]
public virtual async Task<ActionResult> RegisterSubordinate(RegisterViewModel model, FormCollection collection)
{            
    if (ModelState.IsValid)
    {
        ... I register the user here and want to refresh the page

        return RedirectToAction("Index");
    }

    //this works it reloads the form in the modal window
    // If we got this far, something failed, redisplay form
    return PartialView("_Register", model); 
}

1 个答案:

答案 0 :(得分:1)

请使用location.reload():它将使用更新的信息重新加载相同的页面。

$('#something').click(function() {
    location.reload();
});