datagrid在MVC中的运用07-实现Master-Detail(使用PartialView)

本文主要体验用jQuery Easyui的datagrid来实现Master-Detail主次表。谢谢Kevin的博文,助我打开了思路。

主表显示所有的Category,当点击主表的展开按钮,显示该Category下的所有Product。

  涉及显示的2个Model

展开

  定义一个服务类和方法用来显示Category列表

展开

CategoryParam 延续了以前文章的思路,是对应View Model的封装类,继承于包含分页信息的基类。

展开

  CategoryController

展开

page和rows是前台视图datagrid传来的参数。
当我们把一个json对象往前台传的时候,需要序列化json对象。定义了一个序列化/反序列化json对象的静态类。

展开

  Category/Index视图

展开

这里的@section scripts对应/Shared/_Layout.cshtml中的@RenderSection("scripts", required: false)。

Category列表

  Master表有了,接下来就是Detail表。需要一个根据Category的ID来获取Product列表的服务类方法。

展开

  ProductController

展开

  _GetByCategory.cshtml部分视图

展开

  Category/Index视图

展开

使用了Easyui的panel插件显式Detail表内容。
使用了datagrid的一个扩展datagrid-detailview.js用来显式Detail表,如下:

展开

最终效果:
主次表

posted @ 2014-03-02 01:26  Darren Ji  阅读(1518)  评论(0编辑  收藏  举报

我的公众号:新语新世界,欢迎关注。