2012-08-30 11 views

risposta

70

RedirectToAction consente di creare un URL di reindirizzamento a un'azione/controller specifico nell'applicazione, ovvero utilizzerà la tabella di route per generare l'URL corretto.

Redirect richiede di fornire un URL completo per il reindirizzamento a.

Se si dispone di un'azione Index sul controller Home con il parametro Id:

  1. È possibile utilizzare RedirectToAction("Index", "Home", new { id = 5 }) che genererà l'URL, sulla base di tabella di route.

  2. È possibile utilizzare Redirect ma è necessario costruire l'URL da soli, in modo da passare Redirect("/Home/Index/5") o comunque la tabella di percorso funziona.

  3. Non è possibile reindirizzare a google.com (un URL esterno) utilizzando RedirectToAction, è necessario utilizzare Redirect.

RedirectToAction è significato per fare 302 reindirizzamenti all'interno dell'applicazione e ti dà un modo più semplice per lavorare con la vostra tabella di route.

Redirect è pensato per eseguire reindirizzamenti 302 a tutto il resto, in particolare URL esterni, ma è comunque possibile reindirizzare all'interno dell'applicazione, è sufficiente creare gli URL da soli.

Best practice: Utilizzare RedirectToAction per qualsiasi cosa riguardi le azioni/i controller dell'applicazione. Se si utilizza Redirect e si fornisce l'URL, sarà necessario modificare manualmente tali URL quando la tabella del percorso cambia.

+1

Significa che Redirect può anche portarti a URL completamente diversi Vir RedirectToAction è limitato all'applicazione corrente. Per favore correggimi se sbaglio. –

+1

@gmailuser - Sei corretto. – Omar

+0

Grazie amico mio. –

Problemi correlati