使用asp.net MVC3,我有一个需要远程验证的局部视图。据我了解,这意味着它需要它自己的控制器,所以我使用Html.Action来调用这个视图,它是控制器。将模型传递给Html.Action
但是我仍然希望将模型传递给Html.Action,就像我使用Html.Partial一样。我怎样才能做到这一点?
使用asp.net MVC3,我有一个需要远程验证的局部视图。据我了解,这意味着它需要它自己的控制器,所以我使用Html.Action来调用这个视图,它是控制器。将模型传递给Html.Action
但是我仍然希望将模型传递给Html.Action,就像我使用Html.Partial一样。我怎样才能做到这一点?
Html.Action有一个重载,期望路由值作为对象。你可以尝试在那里传递模型,并且模型绑定将启动。你的动作必须期待类型Model的参数。
Html.Action("ActionName","ControllerName", Model)
你必须通过匿名类模型
@Html.Action("Menu", "MyController", new { data = Model.Foo.Bar})
[ChildActionOnly]
public ActionResult Menu(Bar data)
{
return PartialView("Menu", data);
}
Html.Action()不要求“这是自己的控制器”只是一个控制器方法返回的ViewResult \ PartialViewResult – gdoron