Jestem dość nowy do MVC, ale nie wiesz dokładnie, które Przekierowanie ... zastępuje standardowe przekierowanie stosowane w WebForms czyli średnia Response.Redirect()
ASP.NET MVC: Jaki jest prawidłowy sposób przekierowania na strony/akcje w MVC?
Na przykład, muszę przekierować do innych stron w kilka scenariuszy:
1) KIEDY użytkownik się wylogowuje (Formularz wylogowania w działaniu) Chcę przekierować na stronę logowania.
2) w sterowniku lub centralnej sterownika zdarzeń np Initialize
chcę przekierować do innej strony (AbsoluteRootUrl + kontroler + Akcja)
Wydaje się, że wiele przekierowań uzyskać nazywane w niektórych przypadkach, co powoduje błędy, coś zrobić z tym, że strona jest już przekierowywana? W jaki sposób można anulować bieżące żądanie i po prostu przekierować?
Aktualizacja:
Odpowiedź na to pytanie (System.Web.Mvc.Controller Initialize) wskazuje, że Initialize
nie powinny być wykorzystywane i OnActionExecuting
należy stosować?
Wszelkie uwagi na temat, dlaczego nie należy używać Initialize
lub dlaczego OnAuthorization
nie jest lepszą opcją?
Więcej informacji:
Ten blog post (http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/) wskazuje, że OnActionExecuting
jest przydatna do uwierzytelniania (jak wskazano w linku powyżej) Chyba dodając to do tego zdarzenia w klasie bazowej kontroler jest w porządku, jak każdy strona uruchamia akcję w MVC, więc nie powinna wiele zmieniać, a możliwość przekierowania powinna być łatwiejsza. Ma to sens, ale wydaje mi się, że ma to sens dla mnie, że można coś zrobić w przypadku przed tym wydarzeniem i sprawia, że zastanawiamy się, do czego służą te wydarzenia? Będą udzielać OnActionExecuting
GO ..
Co to jest kontroler baza zainicjować wydarzenie wspomniałeś? –
@Mahesh Velaga: Posiadam kontroler bazowy, który przesłania inicjalizację zdarzenia, tj. Chronione zastępowanie void Initialize (System.Web.Routing.RequestContext requestContext) ... Mam tam pewne kontrole bezpieczeństwa i muszę przekierować użytkowników na podstawie tych sprawdzeń –
Dlaczego nie ustawić niektórych wartości w tempdata lub viewdata i kiedy osiągniesz działanie kontrolera w oparciu o wartość, którą możesz przekierować za pomocą RedirectToAction? –