ASP.NET MVC2在强类型视图中显示2个数据列表

| 我在显示包含两个数据库对象的数据列表时遇到困难。 我的视图严格按照一个视图模型输入,该视图模型包含一个客户列表和一个客户站点列表(每个站点都存储在自己的表中)。我目前为每个语句使用两个来呈现两个列表,但实际上我需要一个包含两个对象的列表,简而言之,它是一个客户站点列表,其中也包含来自客户表的客户名称。 这是我的视图模型
namespace CustomerDatabase.WebUI.Models
{
public class CustomerSitesListViewModel
{
    public IList<CustomerSite> CustomerSites { get; set; }
    public PagingInfo PagingInfo { get; set; }
    public IList<Customer> customers { get; set; }
}
}
这是即时消息当前在视图中使用的代码,客户站点包含在部分视图中,如果我可以在部分视图中添加客户名称,那将是理想的选择,但是我可以确定如何访问两个对象的唯一方法是每个语句使用两个
<%@ Page Title=\"\" Language=\"C#\" MasterPageFile=\"~/Views/Shared/Site.Master\"   Inherits=\"System.Web.Mvc.ViewPage<CustomerDatabase.WebUI.Models.CustomerSitesListViewModel>    \" %>
<% foreach (var customer in Model.customers) { %>
<%:customer.CustomerName%></li>
<%} %>
<% foreach (var customerSite in Model.CustomerSites) { %>
<% Html.RenderPartial(\"CustomerSiteSummary\", customerSite); %>
<%} %>
这是我的部分观点
<%@ Control Language=\"C#\"   Inherits=\"System.Web.Mvc.ViewUserControl<CustomerDatabase.Domain.Entities.CustomerSite>\" %>
<div class=\"item\">
<div class=\"customer-list-item\">
<%: Model.AddressLine1%>
<%: Model.AddressLine2%>
<%: Model.AddressLine3%>
<%: Model.Town%>
<%: Model.County%>
<%: Model.Postcode%>
<%: Model.ContactName%>
<%: Model.ContactNo%>
<%: Model.ContactEmail%>
    这是我的控制器代码,它设置了两个列表
public ViewResult List([DefaultValue(1)] int page)
    {
        var customerSitesToShow = customerSiteRepository.CustomerSites;
        var customersToShow = customerRepository.Customers;
        var viewModel = new CustomerSitesListViewModel
        {

            CustomerSites = customerSitesToShow.Skip((page - 1) *   PageSize).Take(PageSize).ToList(),
            customers = customersToShow.Skip((page - 1) * PageSize).Take(PageSize).ToList(),
            PagingInfo = new PagingInfo
            {
                CurrentPage = page,
                ItemsPerPage = PageSize,
                TotalItems = customerSitesToShow.Count()
            }
        };

        return View(viewModel);  //Passed to view as ViewData.Model (or simply model)
    }

}
}
有没有一种方法可以从视图访问两个对象而无需为每个语句使用,因此我可以在局部视图中将两个列表合并在一起。
<% foreach **(var customer in Model.customers)** { %>
感谢您提供任何可能提供的建议。     
已邀请:
        抱歉,您的问题对我来说仍然有点模糊,但是无论如何,似乎您想要这样的数据结构。
namespace CustomerDatabase.WebUI.Models
{
public class CustomerSitesListViewModel
{    
    public PagingInfo PagingInfo { get; set; }
    public IList<Customer> customers { get; set; }
}
public class Custmoer
{
     public IList<CustomerSite> CustomerSites { get; set; }
     //other customer properties
}
}
您可以轻松地在控制器中构建这种视图模型,然后像这样调整视图。您也可以使用网格或使用foreach循环构建网格以获取数据列表(就像您已经在做的那样)。     

要回复问题请先登录注册