我正在使用部分视图进行登录,并希望在成功时将用户重定向到新页面,并在模型无效时在部分视图中显示验证错误。ajax 目标正在更新,成功或失败。如果模型有效,它会在更新目标中显示整个新页面,但我希望它重定向到新页面。我已经尝试过 Redirect 和 RedirecttoAction 但它没有得到想要的结果。任何关于我可以去获取 ajax 更新以重定向到新页面的想法,而不是更新目标。另外,如果我使用了错误的方法,请告诉我。
部分查看代码:
<% using (Ajax.BeginForm(
"LogOn",
null,
new AjaxOptions {
HttpMethod = "POST",
UpdateTargetId = "SignInForm"
},
new {
id = "SignInForm", ReturnUrl = Request.QueryString["ReturnUrl"]
})) { %>
<<Page HTML Controls>>
<input type="submit" value="Log On" />
<% } %>
这是相关的控制器代码:
public ActionResult Logon(LogOnModel model,string returnUrl)
{
if (ModelState.IsValid)
{
//Login Logic Code
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "App");
}
}
// If we got this far, something failed, redisplay form
if (Request.IsAjaxRequest())
return PartialView("LogOnControl");
return View(model);
}