2009-02-25 16 views
1

Ich versuche, ein kleines Panel während des Debuggens in meiner Anwendung mit verschiedenen Zusatzfunktionen anzuzeigen. Eine Sache, die ich will, ist Informationen über die aktuelle Route.Warum ist Controller.RouteData.Route null?

Ich habe versucht, Controller.RouteData zu betrachten, aber einige der Eigenschaften waren null.

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

Wie bekomme ich den Wert von "Route"?

Ich habe diesen Beitrag über URL debugging gesehen, aber ich glaube nicht, dass das hilft, denn obwohl ich eine Debugging-Konsole schreibe, möchte ich die "Laufzeit" -Werte und möchte keine zusätzliche Abstraktionsebene einfügen.

Antwort

1

Ich weiß, das ist eine alte Frage, aber immer noch ... möchten Sie die Route-Variablen haben?

dann könnten Sie sie über

ViewContext.RouteData.GetRequiredString("controller") 

Der Name des routevalue stammt aus dem Routing, wo Sie alle Variablen definieren.

So können Sie auf Controller, Aktion, ID, was auch immer Sie im Routing haben zugreifen.

+0

@griti ich erinnere mich nicht genau an die Situation, aber ich habe nicht mehr das Problem. RouteData.Route hat jetzt einen Wert. Ich bin mir nicht sicher, ob sich das für RTM oder MVC 2 Preview 2 geändert hat. Ich glaube nicht, dass das Problem darin bestand, den Namen des Controllers nicht zu finden, sondern ein Route-Objekt –