asp.net Linq TO Sql 分页方法
asp.net Linq TO Sql 分页方法
发布时间:2016-12-29 来源:查字典编辑
摘要:分页方法复制代码代码如下:///////////////控件ID///数据源///当前页///每页数据条数///页面搜索参数like&a=a...

分页方法

复制代码 代码如下:

/// <summary>

///

/// </summary>

/// <typeparam name="T"></typeparam>

/// <param name="replist">控件ID</param>

/// <param name="DataSource">数据源</param>

/// <param name="IndexPage">当前页</param>

/// <param name="PageSize">每页数据条数</param>

/// <param name="PageParemart">页面搜索参数 like &a=a&b=b </param>

/// <returns></returns>

public static string ShowPage<T>(System.Web.UI.WebControls.Repeater replist, IQueryable<T> DataSource, int IndexPage, int PageSize, string PageParemart)

{

string rtnStr = "";

int sourceCount = DataSource.Count();

if (sourceCount == 0)//数据源无数据

{

rtnStr = string.Empty;

}

else

{

int yutemp = sourceCount % PageSize;

int pagecounts = (yutemp == 0) ? (sourceCount / PageSize) : (sourceCount / PageSize + 1);//总页数

rtnStr = " <div><div>页次:" + IndexPage + "页/" + pagecounts + "页,共" + sourceCount + "条记录</div> ";

if (pagecounts == 1) //总共一页数据

{

replist.DataSource = DataSource;

rtnStr += "[首页] [上一页] [下一页] [尾页] ";

}

else

{

rtnStr += "<div>";

if (IndexPage == 1)//首页

{

replist.DataSource = DataSource.Take(PageSize);

rtnStr += "[首页] [上一页] <a href='?page=" + (IndexPage + 1) + PageParemart + "'>[下一页]</a> <a href='?page=" + (pagecounts) + PageParemart + "'>[尾页]</a> ";

}

else

{

replist.DataSource = DataSource.Skip((IndexPage - 1) * PageSize).Take(PageSize);

if (IndexPage == pagecounts)//末页

{

rtnStr += "<a href='?page=1" + PageParemart + "'>[首页]</a> <a href='?page=" + (IndexPage - 1) + PageParemart + "'>[上一页]</a> [下一页] [尾页] ";

}

else

{

rtnStr += "<a href='?page=1" + PageParemart + "'>[首页]</a> <a href='?page=" + (IndexPage - 1) + PageParemart + "'>[上一页]</a> <a href='?page=" + (IndexPage + 1) + PageParemart + "'>[下一页]</a> <a href='?page=" + (pagecounts) + PageParemart + "'>[尾页]</a> ";

}

}

rtnStr += "</div></div>";

}

replist.DataBind();

}

return rtnStr;

}

页面调用

复制代码 代码如下:

private int PageSize = 10;

private int IndexPage = 1;

private string PageParemart = "";

private void Bind()

{

strwhere = "1=1 " + strwhere;

str2 = "1=1 " + str2;

var a = from b in datas.fav_Awards_User select b;

Label2.Text = common.PageFen.ShowPage(replist, a, this.IndexPage, this.PageSize, this.PageParemart);

if (Label2.Text == "")

{

Label1.Visible = true;

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类