0

我有注册的部分视图。

@using (Ajax.BeginForm("Register", 
                       new AjaxOptions { HttpMethod = "post", 
                                         InsertionMode = InsertionMode.Replace, 
                                         UpdateTargetId = "loginForm" }))

控制器:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterModel model)
{
        if (ModelState.IsValid)
        {
           Guid activationGUID = Guid.NewGuid();
           if (UserManager.Register(model.Email, model.FullName, model.Password, activationGUID))
               return RedirectToAction("Index", "Dashboard");
           else
               ModelState.AddModelError("", "This email already exists");
        }

        return PartialView(model);
  }

在错误时,
我希望局部视图显示错误消息
控制器调用return PartialView(model); ……那行得通!

成功时,
我希望刷新整个页面(而不是在 ajax 调用中指定的 UpdateTargetId)。控制器调用return RedirectToAction("Index", "Dashboard"); ......失败了!

相反,我将仪表板表单插入到 UpdateTargetID 中。
我究竟做错了什么???

4

1 回答 1

1

您需要使用OnSuccess方法并选择是否要替换div内容或更改window.location

于 2013-07-31T04:20:45.997 回答