asp.net显示第一页、上一页、下一页和最后一页的分页显示数据表的数据
时间: 2024-05-13 09:17:41 浏览: 20
在 ASP.NET 中,可以使用 DataPager 控件来实现分页显示数据表的数据。以下是一个简单的示例,演示如何在页面上显示第一页、上一页、下一页和最后一页的分页:
1. 首先,在页面中添加一个 DataPager 控件和一个 ListView 控件,用于显示数据:
```html
<asp:DataPager ID="DataPager1" runat="server">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="true" ShowLastPageButton="true" />
</Fields>
</asp:DataPager>
<asp:ListView ID="ListView1" runat="server">
<ItemTemplate>
<!-- 数据列表的每一项 -->
</ItemTemplate>
</asp:ListView>
```
2. 在页面的代码中,绑定数据到 ListView 控件,并设置 DataPager 控件的数据源为 ListView 控件:
```csharp
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}
private void BindData()
{
// 从数据库中获取数据
DataTable dt = GetDataFromDatabase();
// 将数据绑定到 ListView 控件
ListView1.DataSource = dt;
ListView1.DataBind();
// 设置 DataPager 控件的数据源为 ListView 控件
DataPager1.SetPageProperties(0, DataPager1.PageSize, true);
DataPager1.DataSource = ListView1.DataSource;
DataPager1.DataBind();
}
private DataTable GetDataFromDatabase()
{
// 从数据库中获取数据并返回 DataTable 对象
}
```
3. 在 DataPager 控件的 NextPageIndexChanged 和 PreviousPageIndexChanged 事件中,重新绑定 ListView 控件的数据源,并重新设置 DataPager 控件的数据源:
```csharp
protected void DataPager1_NextPageIndexChanged(object sender, EventArgs e)
{
ListView1.PageIndex = DataPager1.StartRowIndex / DataPager1.PageSize;
BindData();
}
protected void DataPager1_PreviousPageIndexChanged(object sender, EventArgs e)
{
ListView1.PageIndex = DataPager1.StartRowIndex / DataPager1.PageSize;
BindData();
}
```
这样就可以在页面上显示第一页、上一页、下一页和最后一页的分页了。注意,以上示例中使用的是 DataPager 控件的 NextPreviousPagerField,该字段只能显示第一页、上一页、下一页和最后一页,如果需要显示更多的页码,可以使用 NumericPagerField。