MVC3将@model传递给局部视图

The*_*Gwa 8 asp.net-mvc model view partial asp.net-mvc-3

我有两个部分视图完全相同,但对于@model.

@model Project.Models.X

@model Project.Models.Y

我怎样才能将此模型类型传递给视图,以便我可以为两者使用相同的视图?

小智 5

不确定这是否是最佳做法,但你也可以使用HTML.RenderAction来调用你的控制器并让它返回你想要的任何模型的PartialViewResult,如下所示:

  @{Html.RenderAction("MyPartialAction", "MyController", new { someID = 1 });}
Run Code Online (Sandbox Code Playgroud)

 public PartialViewResult MyPartialAction(int? someID)
 {
        return PartialView("MyPartial",SomeModel);
 }
Run Code Online (Sandbox Code Playgroud)


gan*_*dil 3

您可以创建一个 ViewModel Z,并将其传递给 View。如果您想传递模型 X 或 Y,只需将其传递给 Z,然后将模型 Z 传递给 View。