【问题标题】:MVC 5 refresh page from controller called by AJAX call来自 AJAX 调用调用的控制器的 MVC 5 刷新页面
【发布时间】:2016-12-12 19:55:29
【问题描述】:

我有一个页面,我在模式窗口上显示注册表单。 我通过 AJAX 在控制器上调用注册操作。 当用户输入错误时,我重新加载表单并显示错误摘要。这工作正常。 问题是,当注册成功时,我想刷新页面,所以模式窗口关闭并且用户列表被刷新。 但我无法让它工作。 我的看法:

@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); 
}

【问题讨论】:

  • 请注意,model-view-controller 标签是针对有关模式的问题。 ASP.NET-MVC 实现有一个特定的标签。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 2023-04-08
    • 2014-08-03
    • 1970-01-01
    相关资源
    最近更新 更多