2009-08-14 9 views
9

Ich buiding eine UrlHelper für eine Route wie in best practicesUrl.RouteUrl null zurück

das Problem ist, dass der zurückgegebene Wert immer null ist beim Debuggen in herausgefunden, dass

Url.RouteUrl (“ x ") return null

Url.RouteCollection [" x "] Rückweg

ich versuche zu tun:

Ich kann nicht sehen, wo ich etwas falsch tue

+0

In Ihrem Global.asax, sind Sie tatsächlich einen Weg „X“ genannt Registrierung? – womp

+0

Ja, es gibt eine Route registriert als routes.MapRoute ("X", "/ Kategorie/{ID}/{Kategorie}", neue {Controller = "Kategorie", Aktion = "Liste"}) – freddoo

Antwort

15

Es scheint, dass dies verursacht wird, weil Sie keinen Standardwert für {id} und {} Kategorie angegeben haben, wenn Sie Ihre Routen Registrierung.

Url.RouteUrl("x") gibt null zurück, da für ID und Kategorie kein Wert angegeben ist und Ihre Routendefinition keinen Standardwert hat.

Ich denke, dass Sie feststellen werden, wenn Sie Ihren Routeneintrag aktualisieren, um einen Standardwert für ID und Kategorie anzugeben, wird dies Ihr Problem lösen. Alternativ, wenn Sie sicher sind, immer einen Wert für ID und Kategorie bereitzustellen, können Sie ohne sie auskommen.

Soweit Ihre eigentliche URL-Hilfsmethode Category(), sollte funktionieren so gut wie es ist, wenn Sie einen nicht null oder leer Wert für ID und Kategorie bereitstellen. Ich habe den Code buchstäblich kopiert und es funktioniert für mich.

+2

Ich habe alle eingestellt die Standardeinstellungen und ich habe immer noch dieses Problem. – Shimmy

0

Aus irgendeinem Grund, den ich immer noch die mvc Release Candidate ich die Mvc 1.0 und jetzt installiert ausgeführt wurde, funktioniert es gut