2009-07-12 662 views

Respuesta

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

Tenga en cuenta que 'ViewContext.RouteData.Values' es un' RouteValueDictionary' y que los valores deben enviarse a una cadena para realizar comparaciones, por ejemplo '<% = (cadena) ViewContext.RouteData.Values ​​[" Action "] ==" Índice "? ... '(y ahorrarse 10 minutos de dolor y deseando poder usar RoR o incluso * gasp * PHP). –

+2

¿Por qué se lanzaría a una cadena cuando se puede usar el .ToString() más seguro? –

3

Mejor que qué? La página maestra debe tener un ViewContext que le permita obtener el RouteData. Debería poder obtener el nombre del controlador y la acción de RouteData, usando las teclas "controlador" y "acción".

0

En MVC 4,0 Handle como a continuación.

controlador: @ ViewContext.RouteData.Values ​​[ "Controller"]
Acción: @ ViewContext.RouteData.Values ​​[ "acción"]

Cuestiones relacionadas