过去几周我一直在为我们的企业应用程序评估Asp.Net MVC框架。我想要实现的一件事是Master-Details视图。很明显,没有视图状态,也没有回发。现在,例如,我正在使用Northwind数据库中的产品,客户,订单和订单明细表,并使用Asp.Net MVC我想创建一个主 - 详细信息视图。基本上我不想为订单和订单明细提供单独的视图(换句话说,页面)。视图应包含订单和订单明细。我应该如何设计我的控制器和视图以实现此功能。
谢谢&问候, Burhanuddin Ghee Wala
答案 0 :(得分:6)
您可能希望编写一个特定于域的viewmodel类,它将来自单个Order及其OrderDetails的所有数据组合在一起(我假设在Order-> OrderDetails上有一个1> N关系,不熟悉Northwind ):
public class OrderViewModel
{
public Order Order {get;set;}
public IEnumerable<OrderDetail> OrderDetails{get;set;}
}
创建一个绑定到此类型的视图模板,在同一页面上呈现订单和订单详细信息。
在您的控制器类中,编写一个操作方法,该方法将填充OrderViewModel类的单个实例并将其传递给View模板。
答案 1 :(得分:0)
您应该考虑将订单详细信息放入部分视图中,以使订单视图变小。您还可以在应用程序的其他位置重用该视图。