2009-02-25 3 views
1

J'essaie d'afficher un petit panneau pendant le débogage dans mon application avec diverses fonctionnalités diverses. Une chose que je veux qu'il contienne des informations sur l'itinéraire actuel.Pourquoi Controller.RouteData.Route est-il nul?

J'ai essayé de regarder Controller.RouteData mais certaines des propriétés étaient nulles.

RouteData.Route   - null 
RouteData.RouteHandler - null 
RouteData.Values   - has expected values corresponding to the URL 

Comment obtenir la valeur de 'Route'? Je n'ai pas vu cet article à propos de URL debugging, mais je ne pense pas que cela aide parce que bien que j'écrive une console de débogage, je veux les valeurs 'runtime' et je ne veux pas mettre une couche supplémentaire d'abstraction.

Répondre

1

Je sais que c'est une vieille question mais quand même ... vous aimeriez avoir les routes-variables?

alors vous pouvez les obtenir via

ViewContext.RouteData.GetRequiredString("controller") 

Le nom du routevalue vient du routage dans lequel vous définissez toutes les variables.

Ainsi, vous pouvez accéder à Controller, Action, ID, tout ce que vous avez dans le routage.

+0

@griti je ne rememere pas exactement la situation mais je n'ai plus le problème. RouteData.Route a maintenant une valeur. Je ne suis pas sûr si cela a changé pour RTM ou MVC 2 Preview 2. Je ne pense pas que le problème était de ne pas pouvoir trouver le nom du 'controller', mais d'avoir un objet Route –