ログインに部分ビューを使用しています。成功するとユーザーを新しいページにリダイレクトし、モデルが無効な場合は部分ビューに検証エラーを表示したいと考えています。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);
}