我有一个主视图,我想在其中调用局部视图,但是我的局部视图不是静态的,它具有模型,并且两个模型(主视图模型和局部视图模型都不同)不是在我编写{{ 1}} 它说对象引用未设置为它所表示的实例
@Html.Partial("MyPartialView")
这意味着我还需要调用控制器方法以及部分视图,如何基本上在部分视图中实现此目的,即列出我的记录。
答案 0 :(得分:1)
您可以在主视图的操作中准备局部视图模型。 您应该创建一个具有两个属性的ViewModel,其中一个是主视图的模型,另一个是局部视图的模型。像这样:
public class ViewModel
{
public List<MainModel> MainModels { get; set; }
public List<PartialViewModel> PartialViewModels { get; set; }
}
控制器代码:
public ActionResult MainView()
{
ViewModel mymodel = new ViewModel();
mymodel.MainModels = GetMainModels();
mymodel.PartialViewModels = GetPartialViewModels();
return View(mymodel);
}
查看代码
@model ViewModel
...
PartialView("_Partial", Model.PartialViewModels);
属性不一定必须是列表类型。它们可以是同一实体。这取决于您的需求