Я довольно новичок в MVC, но не уверен, какой именно Redirect ... заменяет стандартный редирект, используемый в WebForms, то есть стандарт Response.Redirect()
Например, мне нужно перенаправить на другие страницы в нескольких сценариях:
1) Когда пользователь выходит из системы (формы выходят в действии), я хочу перенаправить на страницу входа.
2) В событии Controller или base Controller, например, Initialize
, я хочу перенаправить на другую страницу (AbsoluteRootUrl + Controller + Action)
Кажется, что в некоторых случаях вызывается несколько переадресаций, что вызывает ошибки, что связано с тем, что страница уже перенаправляется? Как отменить текущий запрос и просто перенаправить?
Обновление:
Ответ на этот вопрос ( System.Web.Mvc.Controller Initialize ) указывает, что Initialize
не следует использовать и OnActionExecuting
следует использовать?
Любые комментарии о том, почему Initialize
не следует использовать или почему OnAuthorization
не лучший вариант?
Подробнее:
Этот пост в блоге (http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/) указывает, что OnActionExecuting
полезен для аутентификации (как указано в ссылке выше). Я думаю, что добавить это к этому событию в базовом классе Controller можно, так как на каждой странице выполняется действие в MVC так не должно иметь большого значения, и возможность перенаправления должна быть проще. Это имеет смысл, но мне также кажется, что для меня есть смысл сделать что-то в событии до этого события, и это заставляет нас задаться вопросом, что это за события. для? Будет ли OnActionExecuting
идти ..