Existe-t-il un moyen de rediriger vers une action / un contrôleur spécifique dans une zone différente?
Réponses
Trop de publicités?Votre réponse m'a été utile. Je voulais juste ajouter ci-dessous:
Si vous souhaitez rediriger d'une zone à une autre, le code ci-dessus fonctionne bien.
Et, si vous souhaitez rediriger une zone vers un contrôleur / une vue qui ne se trouve pas dans le dossier area (c’est-à-dire dans la plupart des cas, votre interface), vous pouvez spécifier area = "".
c'est à dire
return RedirectToAction("action", "controller", new { area = "" });
Je voudrais demander à un suivi jusqu'ici. La compréhension que
return RedirectToAction("action", "area1/controller")
Est également représenté par
return RedirectToAction("action", "controller", new { area = "area1" });
Comment fait-on forer vers le bas dans la zone de imbrications en utilisant la même notation? Le gros gain en avoir les notation, c'est que, avec reSharper en particulier, le refactoring est manipulé de manière appropriée si jamais vous avez besoin de revenir en arrière et "renommer" de l'un des contrôleurs. Une fois que j'ai ajouter une zone supplémentaire pour le mélange et les avoir imbriqué dans un autre, les notations précédentes n'est pas équivalent.
return RedirectToAction("action", "area1/area2/controller");
Je vais garder la question à jour si je le trouve en premier.
Ok, alors je crois que la réponse n'est pas rien de spectaculaire, mais la meilleure façon de le faire de sorte que vous obtenez toujours une sorte de coloration valide w/ resharper & intellisense est comme suit:
return RedirectToAction("action","controller", new { area = "area1/area2" });
Au moins ici, vous aurez la possibilité de F12 ou Ctrl+Cliquez sur le contrôleur et d'être dirigée et si vous avez besoin de faire un renommage Resharper va le trouver...mais ça ne fera PAS de changements pour les zones définies...donc choisissez vos batailles.
Dans la plupart des conditions, je peux éviter d'utiliser des redirections entièrement...mais parfois, tu dois faire ce que tu dois faire.