如何在我的视图中访问多个模型/控制器的数据?

时间:2012-04-24 12:15:22

标签: c# asp.net-mvc-3 html.dropdownlistfor

我正在尝试创建一个会创建子类别的视图。

为了创建这个视图,我在视图中继承了子类别的模型,以便访问所需的属性等。

现在,我希望在子类别对象上设置的一个属性是对普通类别的引用。

但是我不知道如何使用类别项填充我的下拉列表,因为我已经在使用子类别的模型。

我的问题是,在子类别视图中访问SelectList类别对象的最佳方法是什么。

我考虑过在我的ViewBagViewData中使用部分观看或转移数据。

最好的方法是什么?

1 个答案:

答案 0 :(得分:4)

您需要使用ViewModel。这基本上是一个类,用于汇集视图所需的各种模型的所有部分。

它可能看起来像:

public class CategoryListingsVieWModel
{
   public IList<ISubCategory> Subcategories{get;set;}
   public IList<ICategory> Categories{get;set;}
   [...] // Any other data your view needs
}

然后,这将成为您从控制器传递的视图模型。