Asp.net mvc 使用ASP.NET MVC制作母版/详细页的推荐方法是什么?

Asp.net mvc 使用ASP.NET MVC制作母版/详细页的推荐方法是什么?,asp.net-mvc,master-detail,Asp.net Mvc,Master Detail,是否有人对使用ASP.NET MVC框架制作母版/详细页有任何建议/最佳做法 出身背景 我有一页客户信息,在每一页下我需要显示0条或更多关于该客户的相关记录。 数据库架构如下所示: 客户端-一对多->客户端数据 我目前正在为使用存储过程填充的数据类使用LINQ。因此,为了获得客户信息,我会写: 在视图中呈现每个客户机时,我需要显示相关数据,因此我需要为找到的每个客户机调用: 问题 实现这一目标的最佳方式是什么 使用ViewData并存储每个查询 使用视图的类型化模型,可能使用

是否有人对使用ASP.NET MVC框架制作母版/详细页有任何建议/最佳做法

出身背景 我有一页客户信息,在每一页下我需要显示0条或更多关于该客户的相关记录。

数据库架构如下所示:

客户端-一对多->客户端数据

我目前正在为使用存储过程填充的数据类使用LINQ。因此,为了获得客户信息,我会写:

在视图中呈现每个客户机时,我需要显示相关数据,因此我需要为找到的每个客户机调用:

问题 实现这一目标的最佳方式是什么

使用ViewData并存储每个查询 使用视图的类型化模型,可能使用一个类来表示列表中包含相关信息的客户机 另外 谢谢,
Kieron

使用IDictionary>,然后将其包装到viewdata类中

这将允许您在控制器级别执行过滤/排序,同时保持客户端及其数据之间的严格相关性

例如:

public class ClientController{
    public ViewResult ClientList(){
        var clientsAndData = new Dictionary<Client,IEnumerable<ClientData>>();

        var clients = from client in dataContext.GetClients()
            orderby client.CompanyName
            select client;

        foreach( var client in clients )
          clientsAndData.Add(
            client,
            (
                from clientData in dataContext.GetClientData(client.ClientId)
                orderby clientData.CreatedDate
                select clientData
            ).ToList()
          );

        return View( new ClientListViewData{ Clients = clientsAndData } );
    }
}

public class ClientListViewData{
    public IDictionary<Client,IEnumerable<ClientData>> Clients{ get; set; }
}
var clientDataQuery = from clientData in dataContext.GetClientData (client.ClientId)
orderby clientData.CreatedDate
select clientData;
public class ClientController{
    public ViewResult ClientList(){
        var clientsAndData = new Dictionary<Client,IEnumerable<ClientData>>();

        var clients = from client in dataContext.GetClients()
            orderby client.CompanyName
            select client;

        foreach( var client in clients )
          clientsAndData.Add(
            client,
            (
                from clientData in dataContext.GetClientData(client.ClientId)
                orderby clientData.CreatedDate
                select clientData
            ).ToList()
          );

        return View( new ClientListViewData{ Clients = clientsAndData } );
    }
}

public class ClientListViewData{
    public IDictionary<Client,IEnumerable<ClientData>> Clients{ get; set; }
}