2009-02-25 112 views
1

我正在尝试在我的应用程序中使用各种其他功能进行调试时显示一个小面板。我希望它包含的一件事是关于当前路线的信息。为什么Controller.RouteData.Route为空?

我试着看Controller.RouteData,但其中一些属性为空。

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

如何获取'路由'的值?

我看过这篇关于URL debugging的文章,但我不认为这有帮助,因为虽然我正在编写一个调试控制台,但我想要'运行时'值并且不想放入额外的抽象层。

回答

1

我知道这是一个老问题,但仍然...你想有路由变量?

,那么你可能通过

ViewContext.RouteData.GetRequiredString("controller") 

的routevalue的名字来自你定义的所有变量的路由得到他们。

所以你可以访问Controller,Action,ID,无论你在路由中有什么。

+0

@griti我不记得确切的情况,但我不再有问题。 RouteData.Route现在有一个值。我不确定这是否改变了RTM或MVC 2预览2.我不认为问题是不能找到'控制器'的名称,但有一个路由对象 – 2009-10-26 22:09:39