在ASP.NET中,分頁可以通過多種方式實現,包括使用數據綁定控件(如GridView、Repeater等)或手動編寫代碼。以下是使用數據綁定控件進行分頁的示例代碼:
public DataTable GetPagedData(int pageNumber, int pageSize)
{
// 假設你有一個名為_data的DataTable存儲數據
DataTable dataTable = _data;
// 計算偏移量
int offset = (pageNumber - 1) * pageSize;
// 分頁數據
dataTable.DefaultView.RowFilter = string.Format("ROW_NUMBER() OVER (ORDER BY [YourColumnName]) >= {0} AND ROW_NUMBER() OVER (ORDER BY [YourColumnName]) < {1}", offset + 1, offset + pageSize);
dataTable.DefaultView.RowLimit = pageSize;
return dataTable.ToTable();
}
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="10" OnPageIndexChanging="GridView1_PageIndexChanging">
</asp:GridView>
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
// 設置GridView的分頁索引
GridView1.PageIndex = e.NewPageIndex;
// 獲取分頁數據并綁定到GridView
GridView1.DataSource = GetPagedData(GridView1.PageIndex + 1, GridView1.PageSize);
GridView1.DataBind();
}
這樣,當用戶點擊GridView的分頁控件時,將會調用GridView1_PageIndexChanging方法,從而更新GridView的分頁數據和索引。