XHTML结构:
<asp:GridView ID="GridView1" runat="server" CssClass="tbtitle acenter" Width="100%"
BackColor="#E2F5BC" BorderWidth="0" CellPadding="1" CellSpacing="1" >
</asp:GridView>
<!-- Pagination -->
<webdiyer:AspNetPager Width="100%" ID="anpager" runat="server"
FirstPageText="首页 |"
LastPageText="| 尾页"
PrevPageText="上一页 |"
NextPageText="| 下一页"
OnPageChanged="anpager_PageChanged"
PageIndexBoxType="DropDownList"
ShowPageIndexBox="Always"
TextAfterPageIndexBox=" 页" TextBeforePageIndexBox="第 "
NumericButtonCount="10"
ShowPageIndex="true"
ShowBoxThreshold="10"
ShowNavigationToolTip="True"
PageSize="12"
AlwaysShow="true" UrlPaging="false">
</webdiyer:AspNetPager>
.cs(C#):
private void BindList()
{
List<tbSalesOrderHeader> list = new List<tbSalesOrderHeader>();
list = BSalesOrderHeader.GetList(anpager.CurrentPageIndex, anpager.PageSize);
if (list.Count > 0)
{
anpager.RecordCount = BSalesOrderHeader.GetCount(); //读取所有符合的记录数
gvList.DataSource = list;
gvList.DataBind();
}
}
protected void anpager_PageChanged(object sender, EventArgs e)
{
BindList();
}
封装的类:
public class BSalesOrderHeader
{
private static SalesOrderHeaderDataContext dc = Linq2SqlInstance.SalesOrderHeader;
public static List<tbSalesOrderHeader> GetList(int iCurrentIndex, int iPageSize)
{
return dc.tbSalesOrderHeader.Skip((iCurrentIndex - 1) * iPageSize).Take(iPageSize).ToList<tbSalesOrderHeader>();
}
public static int GetCount()
{
return dc.tbSalesOrderHeader.Count();
}
}
其中,关键点是:Skip((AspNetPager.CurrentPageIndex - 1) * AspNetPager.PageSize).Take(AspNetPager.PageSize);