net MVC +数据表实现分页+排序的方法

  介绍

小编给大家分享一下。净MVC +数据表实现分页+排序的方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

使用数据表内置的分页,排序
使用属性+反射来控制需要排序和显示的字段以及顺序
分离排序和显示逻辑
若要添加搜索逻辑只需要传递搜索的字段到后端即可(js初始化时把“searching":假拿掉)。

 @using BCMS.BusinessLogic
  @using BCMS.BusinessLogic.Models
  @ model List
  & lt;表id=皌blData"类=氨韙able-striped"比;
  & lt; thead>
  & lt; tr类=癲ata-list"祝辞
  & lt; th风格=翱矶?10%;“在@Html。DisplayNameFor(模型=比;model.First () .PersNo) & lt;/th>
  & lt; th风格=翱矶?30%;“在@Html。DisplayNameFor(模型=比;model.First () .Personnel_Name) & lt;/th>
  & lt; th风格=翱矶?20%;“在@Html。DisplayNameFor(模型=比;model.First () .Position) & lt;/th>
  & lt; th风格=翱矶?20%;“在@Html。DisplayNameFor(模型=比;model.First () .Interchange) & lt;/th>
  & lt; th风格=翱矶?20%;“祝辞Action
  & lt;/tr>
  & lt;/thead>
  & lt;/table>
  {@section脚本
  & lt;脚本类型=拔谋?javascript"比;
  @ {
  var列=DataTableHelper.DisplayColumns ();
  }
  美元(文档)。准备好(函数(){
  $ (& # 39;# tblData& # 39;) .dataTable ({
  “processing":没错,
  “serverSide":没错,
  “searching":假的,
  “stateSave":没错,
  “oLanguage": {“sInfoFiltered":“;”},
  “ajax": {
  “url": .action (“GetJsonData"),
  “type":“GET"
  },
  “columns":(
  {“data":“@ column [0]“;},
  {“data":“@ column [1]“;},
  {“data":“@ column [2],},
  {“data":“@ column [3]“;},
  {
  “data":“@ column [0]“,
  “orderable":假的,
  “searchable":假的,
  “render":功能(数据类型、完整、元){
  如果(type===& # 39;显示# 39;){
  返回GetDetailButton (“/BusCaptain/细节? bcId=?数据)+ GetInfoButton(“/远程信息处理? bcId=?数据,“Performance");
  其他}{返回数据;}
  }
  }
  ],
  “order": [[0,“asc"]]
  });
  });
  & lt;/script>
  }

 (sortColumnNo);
  返回名称;
  }
  公开课DataTableData
  {
  公共int画{得到;设置;}
  公共int recordsFiltered{得到;设置;}
  公共列表数据{得到;设置;}
  }

类XXX {
  …
  [DisplayColumn (0))
  [SortingColumn (0))
  公共int ?{得到;设置;}
  [DisplayColumn (1)]
  [SortingColumn (1)]
  公共字符串B{得到;设置;}
  …
  }

net MVC +数据表实现分页+排序的方法