2011-12-22 27 views
5

Utilizando asp.net MVC3, tengo una vista parcial que requiere validación remota. Según tengo entendido, esto significa que necesita su propio controlador, así que estoy usando Html.Action para llamar a esta vista y su controlador.Pasando el modelo a Html.Action

Sin embargo, deseo pasar un modelo a Html.Action, como lo haría con Html.Partial. ¿Cómo puedo hacer esto?

+0

Html.Action() no requiere que "es propio controlador" sólo un método de controlador que devuelve un ViewResult \ PartialViewResult – gdoron

Respuesta

9

Html.Action tiene una sobrecarga que espera valores de ruta como un objeto. podría tratar de pasar el modelo allí y la vinculación del modelo se activará. Sin embargo, su acción debe esperar un parámetro del tipo Modelo.

Html.Action("ActionName","ControllerName", Model) 
1

Debe pasar el modelo con clases anónimas

@Html.Action("Menu", "MyController", new { data = Model.Foo.Bar}) 

    [ChildActionOnly] 
    public ActionResult Menu(Bar data) 
    { 
     return PartialView("Menu", data); 
    }