Asp.net-Mvc

MVC3 將@model 傳遞給局部視圖

  • June 22, 2011

我有兩個完全相同的部分視圖,但對於@model。

@model Project.Models.X

@model Project.Models.Y

如何將此模型類型傳遞給視圖,以便我可以對兩者使用相同的視圖?

您可以創建一個 ViewModel Z,將其傳遞給 View。如果您想傳遞模型 X 或 Y,只需將其傳遞給 Z,然後將模型 Z 傳遞給 View。

不確定這是否是最佳實踐,但您也可以使用 HTML.RenderAction 呼叫您的控制器並讓它返回帶有您想要的任何模型的 PartialViewResult,如下所示:

 @{Html.RenderAction("MyPartialAction", "MyController", new { someID = 1 });}

public PartialViewResult MyPartialAction(int? someID)
{
       return PartialView("MyPartial",SomeModel);
}

引用自:https://stackoverflow.com/questions/6426381