Je suis assez nouveau pour MVC, mais ne sais pas exactement qui redirigent ... remplace la redirection standard utilisé dans la norme WebForms-à-dire Response.Redirect()
ASP.NET MVC: Quelle est la bonne façon de rediriger vers des pages/actions dans MVC?
Par exemple, je dois rediriger vers d'autres pages dans quelques scénarios:
1) Lorsque l'utilisateur se déconnecte (inscription de formulaires en action), je souhaite rediriger vers une page de connexion.
2) Dans un événement contrôleur ou la base du contrôleur par exemple Initialize
, je veux rediriger vers une autre page (AbsoluteRootUrl + Controller + Action)
Il semble que plusieurs redirections s'appelle dans certains cas, ce qui provoque des erreurs, quelque chose à faire avec le fait qu'une page est déjà en cours de redirection? Comment annuler la demande en cours et rediriger simplement?
Mise à jour:
La réponse à cette question (System.Web.Mvc.Controller Initialize) indique que Initialize
ne doit pas être utilisé et OnActionExecuting
utiliser?
Un commentaire sur pourquoi Initialize
ne devrait pas être utilisé ou pourquoi OnAuthorization
n'est pas une meilleure option?
Plus d'info:
Ce billet de blog (http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/) indique que OnActionExecuting
est utile pour l'authentification (comme indiqué dans le lien ci-dessus) Je suppose que d'ajouter ceci à cet événement dans la classe de base de contrôleur est très bien tous les page exécute une action dans MVC, donc cela ne devrait pas faire beaucoup de différence et avoir la possibilité de rediriger devrait être plus facile. Cela a du sens, mais il me semble aussi logique que des choses puissent être faites dans un événement avant cet événement et que nous nous demandions à quoi ces événements sont destinés? RENONCEZ OnActionExecuting
un go ..
Qu'est-ce que ce contrôleur de base initialiser l'événement que vous avez mentionné? –
@Mahesh Velaga: J'ai un contrôleur de base qui remplace l'événement Initialize ie protected override void Initialize (System.Web.Routing.RequestContext requestContext) ... J'ai des contrôles de sécurité et j'ai besoin de rediriger les utilisateurs sur la base de ces contrôles –
Pourquoi ne pas définir certaines valeurs dans tempdata ou viewdata et lorsque vous atteignez l'action du contrôleur en fonction de la valeur que vous pouvez rediriger à l'aide de RedirectToAction? –