I am fairly new to MVC but not sure exactly which Redirect... replaces the standard redirect used in WebForms ie the standard Response.Redirect()
For instance, I need to redirect to other pages in a couple of scenarios:
1) WHen the user logs out (Forms signout in Action) I want to redirect to a login page.
2) In a Controller or base Controller event eg Initialize
, I want to redirect to another page (AbsoluteRootUrl + Controller + Action)
It seems that multiple redirects get called in some cases which causes errors, something to do with the fact a page is already being redirected? How can cancel the current request and just redirect?
Update:
The answer to this question (http://stackoverflow.com/questions/1679405/system-web-mvc-controller-initialize) indicates that Initialize
should not be used and OnActionExecuting
should be used?
Any comments on why Initialize
should not be used or why OnAuthorization
is not a better option?
More Info:
This blog post (http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/) indicates that OnActionExecuting
is useful for authentication (as indicated in the link above) I guess adding this to that event in the base Controller class is fine as every page runs an Action in MVC so shouldnt make much difference and having the ability to redirect should be easier. This does make sense, but it also seems to make sense to me that things could be done in an event before this event and makes we question what those events are for? Will be giving OnActionExecuting
a go..