2011-12-22 208 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); 
    }