J'ai le parcours suivant défini:
http://whatever/Home/MissingActionMethod
3 Réponses :
Je ne pense pas que cela vérifie le deuxième itinéraire, car le premier spécifié est la valeur par défaut. Je pense que si vous les changez, cela vérifierait CatchTall, voir qu'il ne correspond pas à l'itinéraire spécifié dans l'URL, puis revenez à la valeur par défaut, car vous fournissez uniquement un nom de contrôleur et non un itinéraire. Je pense que si vous vouliez que vous vouliez obtenir tout ce que vous voulez faire quelque chose du tout, vous devriez frapper http: // whats / catchTall / Erreur / manquantMethod , et il faudrait venir avant la valeur par défaut. P>
voir Ce pour plus d'informations détaillées. p>
En bref - commandez, vous spécifiez des itinéraires est important b>!
itinéraires! = Actions. P>
Cela va comme ça - sur demande entrante, le module de routage recherche un premier itinéraire dans la table d'itinéraire correspondant, puis essaie d'appeler une action appropriée. P>
Si l'action n'est pas trouvée, la demande échoue et retourne 404 (il n'essaie pas de rechercher un itinéraire suivant). P>
Mais il devrait être possible d'étendre le cadre afin de y parvenir. Ma première hypothèse - vous pouvez écrire votre propre Quoi qu'il en soit, je ne le recommanderais pas cependant. Il vaut mieux garder le routage muet. P>
Après quelques googles rapides - je ne suis plus optimiste à ce sujet. :) p> routierhandler code>. P>
Pas vraiment spécifique à ASP.NET MVC, le RouteHandler est le composant qui décidait de quoi faire une fois que l'itinéraire a été sélectionné. Évidemment, si vous modifiez la roulette, vous finissez par gérer la demande sans ASP.NET MVC, mais cela peut être utile si vous souhaitez gérer un itinéraire directement avec des httphanders spécifiques ou même avec une forme Web classique. LI>
ol>
blockQuote>
D'accord. Donc, il retourne 404. Est-ce que cela déclenche une exception httpexception? Si oui, alors qu'en est-il de toute manipulation de l'exception personnalisée? Il est possible de saisir cette erreur 404 et d'envoyer à votre propre page? etc?
@ Pure.krome il pourrait être un moyen de personnaliser le routage / MVC pour travailler comme vous le souhaitez. Je n'ai tout simplement pas le temps de regarder de plus près.
Vous devriez essayer d'utiliser le débogueur de Phil Haack de http : //haacked.com/archive/2008/03/13/url-Routting-debugger.aspx , pour voir quelle route correspond à et pourquoi. P>
Q: Comment fonctionne les itinéraires ASP.NET MVC?; A: Très bien! :)
@Arnis L. Mais pourrait être mieux. :)
@ Pure.krome désolé. Je suppose que je me suis senti étourdi ce moment. :RÉ