1、定義一個用來裝載適合所有類的分頁結果類
public class PageDataView<T>
{
private int _TotalNum;
public PageDataView()
{
this._Items = new List<T>();
}
public int TotalNum
{
get { return _TotalNum; }
set { _TotalNum = value; }
}
private IList<T> _Items;
public IList<T> Items
{
get { return _Items; }
set { _Items = value; }
}
public int CurrentPage { get; set; }
public int TotalPageCount { get; set; }
}
PageDataView的Items一個泛型屬性,所以可以適合所有的類,簡潔而通用。
下面是dapper通用萬能的泛型分頁公共類的使用方法:
public static PageDataView<MSys_Admin> GetList(string name, string loginName, int page,int pageSize=10)
{
PageCriteria criteria = new PageCriteria();
criteria.Condition = "1=1";
if (!string.IsNullOrEmpty(name))
criteria.Condition += string.Format(" and Name like '%{0}%'", name);
if (!string.IsNullOrEmpty(loginName))
criteria.Condition += string.Format(" and LoginName like '%{0}%'", loginName);
criteria.CurrentPage = page;
criteria.Fields = "*";
criteria.PageSize = pageSize;
criteria.TableName = "Sys_Admin a";
criteria.PrimaryKey = "UID";
var r = Common.GetPageData<MSys_Admin>(criteria);
return r;
}
參考網址:
http://www.lanhusoft.com/Article/130.html
