2009-07-12 12 views

risposta

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

Si noti che 'ViewContext.RouteData.Values' è un' RouteValueDictionary' e che i valori devono essere espressi su una stringa per il confronto, ad es. '<% = (Stringa) ViewContext.RouteData.Values ​​[" Action "] ==" Indice "? ... '(e risparmia 10 minuti di dolore e desideri poter usare RoR o anche * gasp * PHP). –

+2

Perché eseguire il cast su una stringa quando è possibile utilizzare il più sicuro .ToString()? –

3

Meglio di cosa? La pagina master dovrebbe avere un ViewContext che ti permette di ottenere i RouteData. Dovresti essere in grado di ottenere il nome del controller e dell'azione da RouteData, usando i tasti "controller" e "azione".

0

In MVC 4.0 maniglia come qui di seguito.

Controller: @ ViewContext.RouteData.Values ​​[ "controller"]
Azione: @ ViewContext.RouteData.Values ​​[ "Azione"]

Problemi correlati