ASP.NET MVC2 - 模型在一个View页面上绑定多个数据源 - 选项?

noc*_*ier 2 asp.net-mvc asp.net-mvc-2

我有一个视图页面(MyView.aspx)和许多要在此页面上绑定的数据源.

可以说它有书籍,出版商,评论等.

其中每个都有一个提供List,List等的对象.

在我看来,我对多模型模型的选择是什么?

我想检查每个是否为空,然后枚举它.但我无法检查Model.Count()因为如果我将页面设置为继承,那么模型不会由所有这些对象构成吗?

我有什么选择?我应该在控件/局部视图中加载每个内容区域吗?

或者我可以将每个对象转储到ViewData中,然后通过在视图中强制转换来检查计数?

非常感谢你看看我的问题.

Rio*_*ams 6

您是否考虑过使用包含所有不同数据字段的所有列表的ViewModel并使用它来填充View?

例:

视图模型:

public class MyViewModel
{
   List<Book> Books {get; set;}
   List<Publisher> Publishers {get; set;}
   List<Comment> Comments {get; set;}
   //Other fields...

   //Constructors...
}
Run Code Online (Sandbox Code Playgroud)

然后在您的视图中,您可以在枚举之前检查特定字段是否为空:

视图:

if(Model.Books.Count() != 0)
{
   //Enumerate through results here
}
Run Code Online (Sandbox Code Playgroud)