2012-09-21 21 views

Respuesta

83

Phil Haack lo explica muy bien en this blog post. Básicamente una acción de niño es una acción de controlador que se puede invocar desde el punto de vista usando el ayudante Html.Action:

@Html.Action("SomeActionName", "SomeController") 

Esta acción luego ejecutar y hacer su salida en la ubicación especificada en la vista. La diferencia con un parcial es que un parcial solo incluye el marcado especificado, no hay otra acción ejecutándose que la acción principal.

Por lo tanto, básicamente tiene la acción principal que recibió la solicitud y visualizó, pero desde esta vista puede procesar varias acciones secundarias que pasarán por su ciclo de vida MVC independiente y finalmente generarán la salida. Y todo esto sucederá en el contexto de una sola solicitud HTTP.

Las acciones secundarias son útiles para crear widgets reutilizables completos que podrían integrarse en sus vistas y que pasan por su ciclo de vida MVC independiente.

+0

puede llamar no menor acción de la vista frim? –

+10

En realidad, cuando llamas a 'Html.Partial' la acción es automáticamente una acción secundaria. Si decora la acción con el atributo '[ChildActionOnly]', podría usarla solo como una acción secundaria; no puede acceder a ella directamente. –

+0

Creo que una diferencia es el método de acción puede llamar desde cualquier punto de vista? ¿Verdad? –

7

Una acción secundaria es una acción que se invoca utilizando html.renderaction o html.action helper desde el interior de una vista.

1

Una acción secundaria es un método de acción que se invoca en la vista a través de @ Html.Action().

Ejemplo Tengo una acción en mi controlador.

public DateTime Time(DateTime time) 
{ 
    return time; 
} 

para llamar a esta acción por parte del Ver voy a utilizar:

@Html.Action("Time", new { time = DateTime.Now }) 
Cuestiones relacionadas