如何使用Asp.Net MVC框架创建主从视图

4
我过去几周一直在为我们的企业应用程序评估Asp.Net MVC框架。我想要实现的一个目标是Master-Details视图。由于明确没有viewstate和no postback,所以我使用了Northwind数据库中的Products、Customers、Orders和Order Details表,并使用Asp.Net MVC创建Master-Details视图。基本上,我不想为订单和订单详细信息创建单独的视图(换句话说就是页面)。这个视图应该包括订单和订单详细信息。我应该如何设计我的控制器和视图来实现这个功能。
感谢您的关注和支持, Burhanuddin Ghee Wala
2个回答

6

您需要编写一个领域特定的视图模型类,将单个订单及其订单详细信息中的所有数据组合在一起(我假设Order -> OrderDetails上存在1->N关系,不熟悉Northwind):

public class OrderViewModel
{
  public Order Order {get;set;}
  public IEnumerable<OrderDetail> OrderDetails{get;set;}
}

创建一个视图模板,绑定到此类型,将订单和订单详细信息同时呈现在同一页上。

在您的控制器类中,编写一个操作方法,将填充OrderViewModel类的单个实例并将其传递给View模板。


0
你应该考虑将订单详情放入一个局部视图中,以使你的订单视图更小。这样,你还可以在应用程序的其他地方重复使用该视图片段。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接