Sto utilizzando una vista parziale per l'accesso e desidero reindirizzare l'utente a una nuova pagina in caso di successo e mostrare gli errori di convalida nella vista parziale se il modello non è valido. L'obiettivo ajax viene aggiornato e il successo o il fallimento. Se il modello è valido, sta visualizzando l'intera nuova pagina nella destinazione dell'aggiornamento ma voglio reindirizzare alla nuova pagina. Ho provato Redirect e RedirecttoAction ma non sta ottenendo i risultati desiderati. Qualsiasi idea su cosa posso fare ottenere un aggiornamento Ajax per reindirizzare a una nuova pagina, non aggiornare la destinazione. Inoltre, fammi sapere se sto usando l'approccio sbagliato.Ajax Reindirizza alla pagina invece di aggiornare il target
Vista parziale Codice:
<% 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" />
<% } %>
Ecco il codice di controllo rilevanti:
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);
}