2011-12-22 164 views
5

使用asp.net MVC3,我有一个需要远程验证的局部视图。据我了解,这意味着它需要它自己的控制器,所以我使用Html.Action来调用这个视图,它是控制器。将模型传递给Html.Action

但是我仍然希望将模型传递给Html.Action,就像我使用Html.Partial一样。我怎样才能做到这一点?

+0

Html.Action()不要求“这是自己的控制器”只是一个控制器方法返回的ViewResult \ PartialViewResult – gdoron

回答

9

Html.Action有一个重载,期望路由值作为对象。你可以尝试在那里传递模型,并且模型绑定将启动。你的动作必须期待类型Model的参数。

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

你必须通过匿名类模型

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

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