J'utilise une vue partielle pour la connexion et souhaite rediriger l'utilisateur vers une nouvelle page en cas de succès et afficher les erreurs de validation dans la vue partielle si le modèle est invalide. La cible ajax est en cours de mise à jour et de réussite ou d'échec. Si le modèle est valide, il affiche la totalité de la nouvelle page dans la cible de mise à jour, mais je souhaite la rediriger vers la nouvelle page. J'ai essayé Redirect et RedirecttoAction mais il n'obtient pas les résultats désirés. Toutes les idées sur ce que je peux obtenir obtenir une mise à jour ajax pour rediriger vers une nouvelle page, pas mettre à jour la cible. Aussi, laissez-moi savoir si j'utilise la mauvaise approche.Ajax Rediriger vers la page au lieu de mettre à jour la cible
partielle sur le code:
<% 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" />
<% } %>
Voici le code du contrôleur concerné:
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);
}