MVC4 - 注册是部分视图,但成功时应重定向到新的整页

时间:2013-07-31 03:43:10

标签: c# asp.net-mvc asp.net-mvc-4

我有一个注册的部分视图。

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

出错
我希望局部视图显示错误消息
控制器调用返回PartialView(模型); ......并且可以工作!!!

成功
我希望整个页面刷新(而不是在ajax调用上指定的UpdateTargetId)。 控制器调用返回RedirectToAction(“索引”,“仪表板”); ......然后失败!

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

1 个答案:

答案 0 :(得分:1)

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