1
/// <summary>2
/// 开始分页3
/// </summary>4
/// <returns></returns>5
protected DataTable Paging6
{7
get8
{ 9
//知道了startAt,分页也很容易了,现在根据startAt得到当前是第几页,注意,现在这里的页数也是暂时从0开始的10
int pageNumber = (this.startAt + this.maxResults - 1) / this.maxResults;11
DataTable dt = new DataTable();12
dt.Columns.Add("html");13
DataRow dr = dt.NewRow();14
//暂时得到当前页的html连接,注意这里当真正显示页数的时候要+115
dr["html"] = pagingNumberHtml(startAt,pageNumber+1,false);16
dt.Rows.Add(dr);17
//前面显示10页,如果有的话18
int previousPagesCount = 10;19
//循环把前面页的html连接插到前面去 20
for (int i = pageNumber - 1; i >= 0 && i >= pageNumber - previousPagesCount; i--)21
{22
DataRow r = dt.NewRow();23
r["html"] = pagingNumberHtml(i*this.maxResults,i+1,true);24
dt.Rows.InsertAt(r,0);;25
}26
//后面也显示10页,如果有的话27
int nextPagesCount = 10;28
for (int i = pageNumber + 1; i <= this.pageCount && i <= pageNumber + nextPagesCount; i++)29
{30
DataRow r = dt.NewRow();31
r["html"] = pagingNumberHtml(i*this.maxResults,i+1,true);32
dt.Rows.Add(r);33
}34
//添加下一页的超级连接35
DataRow lastRow = dt.NewRow();36
lastRow["html"] = "<a href='Search.aspx?q="+this.Query+"&start="+(pageNumber+1)*this.maxResults+"'>下一页</a>";37
dt.Rows.Add(lastRow);38
return dt;39

40
}

