2011-12-22 10 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); 
    } 
関連する問題