2011-02-05 14 views
25

¿Cómo puedo determinar si la acción actual es una acción principal ChildAction o enrutada? ¿Debo consultar la URL y compararla con el nombre de la acción? Eso no es tan bueno, ya que depende de los patrones de enrutamiento ...
¿O debo hacer dos acciones del mismo nombre, poner ChildActionOnly en una de ellas y tener una lógica separada (principalmente devolver View() o PartialView())? ¿Cómo se diferenciarán las sobrecargas?¿La acción actual es ChildAction?

Bien, desde otra perspectiva: ¿Cómo hacer que sea así, que si se trata de un ChildAction, entonces devuelva un Vista parcial, de lo contrario, una vista completa?

Respuesta

44

podría utilizar el IsChildAction propiedad:

public ActionResult Index() 
{ 
    if (ControllerContext.IsChildAction) 
    { 
     // The Index action was invoked as child action using 
     // @Html.Action("index") 
    } 
    ... 
} 
+1

Lo mismo dentro de la vista para volver PartialView 'si (Html.ViewContext.IsChildAction) { Disposición = null; } ' – Valdars

Cuestiones relacionadas