2011-05-16 19 views

Respuesta

12

obtener el nombre del controlador

@ViewContext.Controller.ValueProvider.GetValue("controller").RawValue 

Obtener el nombre de la acción

@ViewContext.Controller.ValueProvider.GetValue("action").RawValue 

encontré que here.

+0

¿Seguro que no significa "Obtener el nombre de la acción"? –

+0

Solucionado, mi error. –

3

ViewContext.RouteData.Values["action"] se puede utilizar, pero es mala elección dejar que la vista decida tales cosas. Puede usar plantillas de visualización y editor para generar diferentes vistas y luego dejar que la acción elija su vista. Las vistas deben ser muy simples y basarse en los datos que reciben a través de ViewData o su modelo. Lo mejor es dejar que el controlador decida cosas tales como diferenciar algunas vistas con la acción

+0

+1 por "mala elección" con la que estoy totalmente de acuerdo –

5
@ViewContext.RouteData.Values["Controller"] 
@ViewContext.RouteData.Values["Action"] 

Mientras esto funciona, sugiero que es un poco poco elegante. Personalmente, agrego estas opciones como banderas a un ViewModel y las paso a mi View.

Cuestiones relacionadas