使用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