2009-07-12 3 views

Antwort

34

StackOverflow - Getting the name of the controller and action method in the view in ASP.NET MVC:

<%: ViewContext.RouteData.Values["Controller"] %> 
<%: ViewContext.RouteData.Values["Action"] %> 
+2

Beachten Sie, dass 'ViewContext.RouteData.Values' ein' RouteValueDictionary' ist und dass die Werte für Vergleiche in eine Zeichenfolge umgewandelt werden müssen, zB '<% = (string) ViewContext.RouteData.Values ​​[" Action "] ==" Index" ? ... (und rette dir 10 Minuten Schmerz und wünsch dir, du könntest RoR benutzen oder * keuchen * PHP). –

+2

Warum würden Sie zu einem String umwandeln, wenn Sie den sichereren .ToString() verwenden können? –

3

Besser als was? Die Masterseite sollte einen ViewContext haben, mit dem Sie die RouteData abrufen können. Sie sollten in der Lage sein, den Namen des Controllers und der Aktion aus den RouteData mit den Tasten "controller" und "action" abzurufen.

0

In MVC 4.0 Handle wie unten.

Controller: @ ViewContext.RouteData.Values ​​[ "Controller"]
Aktion: @ ViewContext.RouteData.Values ​​[ "Aktion"]

Verwandte Themen