使用asp.net MVC3,我有一个需要远程验证的局部视图。据我所知,这意味着它需要它自己的控制器,所以我使用Html.Action来调用这个视图和它的控制器。
我确实希望仍然将模型传递给Html.Action,就像我使用Html.Partial一样。我怎么能这样做?
答案 0 :(得分:10)
Html.Action有一个重载,它将路由值作为对象。您可以尝试在那里传递模型,模型绑定将会启动。您的操作必须是期望类型为Model的参数。
Html.Action("ActionName","ControllerName", Model)
答案 1 :(得分:4)
您必须使用匿名类传递模型
@Html.Action("Menu", "MyController", new { data = Model.Foo.Bar})
[ChildActionOnly]
public ActionResult Menu(Bar data )
{
return PartialView("Menu", data );
}