将模型传递给 Html.Action

9
使用asp.net MVC3,我有一个需要远程验证的局部视图。据我所知,这意味着它需要自己的控制器,因此我使用Html.Action来调用此视图及其控制器。
然而,我仍希望像在Html.Partial中一样向Html.Action传递模型。我该如何做?

Html.Action() 不需要“自己的控制器”,只需要一个返回 ViewResult\PartialViewResult 的控制器方法。 - gdoron
2个回答

13

Html.Action有一个重载,接受一个对象作为路由值。你可以尝试将模型传递给那里,模型绑定将会起作用。不过你的Action必须期望一个类型为Model的参数。

Html.Action("ActionName","ControllerName", Model)

8
您必须使用匿名类传递模型。
    @Html.Action("Menu", "MyController", new { data = Model.Foo.Bar})

    [ChildActionOnly]
    public ActionResult Menu(Bar data )
    {
        return PartialView("Menu", data );
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接