我有一个注册的部分视图。
@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中 我究竟做错了什么???
答案 0 :(得分:1)
您需要使用OnSuccess
方法并选择是否要替换div
内容或更改window.location