将模型传递给Html.Action

Jon*_*han 5 c# asp.net-mvc asp.net-mvc-3

使用asp.net MVC3,我有一个部分视图,需要远程验证.据我所知,这意味着它需要它自己的控制器,所以我使用Html.Action来调用这个视图和它的控制器.

但是我希望仍然将模型传递给Html.Action,就像我使用Html.Partial一样.我怎样才能做到这一点?

sca*_*tag 10

Html.Action有一个重载,它将路由值作为对象.您可以尝试在那里传递模型,模型绑定将启动.您的操作必须是期望类型为Model的参数.

Html.Action("ActionName","ControllerName", Model)
Run Code Online (Sandbox Code Playgroud)


gun*_*sus 8

您必须使用匿名类传递模型

    @Html.Action("Menu", "MyController", new { data = Model.Foo.Bar})

    [ChildActionOnly]
    public ActionResult Menu(Bar data )
    {
        return PartialView("Menu", data );
    }
Run Code Online (Sandbox Code Playgroud)