jQuery插件DataTable使用方法详解(.Net平台)

2020-05-27 18:02:35易采站长站整理

List<Model.UserInfo> userInfoList = userInfoIq.ToList();
dt.recordsTotal = total;
dt.recordsFiltered = total ;
dt.data = userInfoList;

return Json(dt);
}

/**************************Bll服务代码************************/
public IQueryable<UserInfo> GetIQueryableBySearchPage(int pageIndex,int pageSize,out int total,string nickname)
{
IQueryable<UserInfo> userInfoIq= CurrentDal.GetIQueryable();

if (!string.IsNullOrEmpty(nickname))
{
userInfoIq=userInfoIq.Where(a => a.Nickname.Contains(nickname));
}
total=userInfoIq.Count();
userInfoIq=userInfoIq.OrderByDescending(a => a.AddTime);
userInfoIq=userInfoIq.Skip((pageIndex - 1)*pageSize).Take(pageSize);//分页前必须排序,不然EF报错

return userInfoIq;
}


using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ViewModel
{
/// <summary>
/// JqueryDataTable插件交互的DT格式的数据(DT参数区分大小写)
/// </summary>
public class DataTable
{
/// <summary>
/// 请求次数(前端==》后端)
/// </summary>
public int draw { get; set; }

/// <summary>
/// 总记录数(前端《==后端)
/// </summary>
public int recordsTotal { get; set; }

/// <summary>
/// 过滤后的总记录数(前端《==后端)
/// </summary>
public int recordsFiltered { get; set; }

/// <summary>
/// 记录开始索引(前端==》后端)
/// </summary>
public int start { get; set; }

/// <summary>
/// PageIndex(前端==》后端)
/// </summary>
public int pageIndex { get; set; }

/// <summary>
/// PageSize(前端==》后端)
/// </summary>
public int length { get; set; }

/// <summary>
/// 集合分页数据(前端《==后端)
/// </summary>
public IList data { get; set; }
}
}

这样就搞定了。。。是不是很简单(● ̄(エ) ̄●)

╮(╯_╰)╭好的,我来解释下。 

前台:

首先我们的table只是给出了thead部分,那么tbody部分呢?交给DT来完成,由DT来控制。那么我们先来初始化DT,js会调用initializeTable()方法,方法里调用$(“#table1”).DataTable({各种配置});来配置DT。至于这些配置的作用,我代码里都做了注释,详细的配置解释,可以查看官网的文档。

配置里有一项很重要,就是ajax配置项,这里是数据源的配置项,数据源可以有多种,我这里选用了ajax异步请求数据源。