Sono abbastanza nuovo per MVC, ma non so esattamente quale Redirect ... sostituisce il reindirizzamento standard utilizzato in WebForms cioè lo standard Response.Redirect()
ASP.NET MVC: qual è il modo corretto per reindirizzare a pagine/azioni in MVC?
Per esempio, ho bisogno di reindirizzare ad altre pagine in un paio di scenari:
1) Quando l'utente si disconnette (firma moduli in Azione) Desidero reindirizzare a una pagina di accesso.
2) In un controller o di base Controller evento per esempio Initialize
, voglio reindirizzare a un'altra pagina (AbsoluteRootUrl + Controller + Azione)
Sembra che più reindirizzamenti vengono chiamati in alcuni casi che causa errori, qualcosa da fare con il fatto che una pagina è già in corso di reindirizzamento? Come si può cancellare la richiesta corrente e semplicemente reindirizzare?
Aggiornamento:
La risposta a questa domanda (System.Web.Mvc.Controller Initialize) indica che Initialize
non deve essere utilizzato e OnActionExecuting
dovrebbe essere utilizzato?
Qualsiasi commento sul motivo per cui Initialize
non deve essere utilizzato o perché OnAuthorization
non è un'opzione migliore?
Ulteriori informazioni:
Questo post del blog (http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/) indica che OnActionExecuting
è utile per l'autenticazione (come indicato nel link qui sotto) Credo che l'aggiunta di questa a quell'evento nella classe base Controller va bene come ogni la pagina esegue un'azione in MVC, quindi non dovrebbe fare molta differenza e avere la possibilità di reindirizzare dovrebbe essere più facile. Questo ha senso, ma sembra anche avere senso per me che le cose potrebbero essere fatte in un evento prima di questo evento e ci facciamo mettere in discussione per cosa sono fatti quegli eventi? Sarà dando OnActionExecuting
un andare ..
Cos'è questo controller di base inizializzare caso lei ha citato? –
@Mahesh Velaga: Ho un controller di base che sovrascrive l'evento di inizializzazione, ovvero override protetto, inizializzazione (System.Web.Routing.RequestContext requestContext) ... Ho alcuni controlli di sicurezza e devo reindirizzare gli utenti in base a tali controlli –
Perché non impostare alcuni valori in tempdata o viewdata e quando si raggiunge l'azione del controller in base al valore che è possibile reindirizzare utilizzando RedirectToAction? –