ASP.NET DataList绑定数据并实现分页

本文详细介绍了如何使用ASP.NET实现分页功能,并通过标签、按钮等元素提供上下翻页及跳转到首尾页的功能。实现了每页显示一定数量的数据,并在页面顶部展示当前页码与总页数,方便用户快速定位到所需页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

显示当前页码
Label
属性 值
ID NowPageNumberLab
text 1
×××××××××××××××××××××××××××××××××××××××××××
显示总页码
Label
属性 值
ID BackPageNumberLab
text ""
×××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
属性 值
ID LnkBtnOne
text 第一页
××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
属性 值
ID LnkBtnUp
text 上一页
××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
属性 值
ID LnkBtnNext
text 下一页
×××××××××××××××××××××××××××××××××××××××××××××
LinkButton
属性 值
ID LnkBtnBack
text 最后一页
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><%# Eval("NBID") %></td>
<td><%# Eval("ADID") %></td>
<td><%# Eval("NBName") %></td>
<td><%# Eval("NBAdr") %></td>
<td><%# Eval("NBTel") %></td>
<td><%# Eval("NBNumber") %></td>
<td><%# Eval("NBYears") %></td>
<td><%# Eval("UserName") %></td>
<td><%# Eval("Password") %></td>
<td></td>
<td></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
当前页码:[<asp:Label ID="NowPageNumberLab" runat="server" Text="1"></asp:Label>]
总页码:[<asp:Label ID="BackPageNumberLab" runat="server"></asp:Label>]
<asp:LinkButton ID="LnkBtnOne" runat="server" OnClick="LnkBtnOne_Click">第一页</asp:LinkButton>
asp:LinkButton ID="LnkBtnUp" runat="server" OnClick="LnkBtnUp_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="LnkBtnNext" runat="server" OnClick="LnkBtnNext_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="LnkBtnBack" runat="server" OnClick="LnkBtnBack_Click">最后一页</asp:LinkButton>
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Pagination();
}
}
/// <summary>
/// 分页
/// </summary>
public void Pagination()
{
NBClass nb = new NBClass();
PagedDataSource ps = new PagedDataSource();
int curpage=Convert.ToInt32(NowPageNumberLab.Text);
NetDSet.NB_IntroduceDataTable table = nb.GetNBTable();
ps.DataSource =table.DefaultView;
ps.AllowPaging = true;//是否可以分页
ps.PageSize = 2;//每页显示数量
ps.CurrentPageIndex = curpage - 1;//获取当前页码
LnkBtnOne.Enabled = true;
LnkBtnUp.Enabled = true;
LnkBtnNext.Enabled = true;
LnkBtnBack.Enabled = true;
if (ps.IsFirstPage)//如果是第一页
{
LnkBtnOne.Enabled = false;//不显示第一页按钮
LnkBtnUp.Enabled = false;//不显示上一页按钮
}
if (ps.IsLastPage)//如果是最后一页
{
LnkBtnNext.Enabled = false;//不显示下一页按钮
LnkBtnBack.Enabled = false;//不显示最后一页按钮
}
BackPageNumberLab.Text = Convert.ToString(ps.PageCount);//获得总页码
DataList1.DataSource =ps;//DataList绑定数据源
DataList1.DataBind();//绑定
}
/// <summary>
/// 点击第一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LnkBtnOne_Click(object sender, EventArgs e)
{
NowPageNumberLab.Text = "1";
Pagination();
}
/// <summary>
/// 点击下一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LnkBtnUp_Click(object sender, EventArgs e)
{
NowPageNumberLab.Text=Convert.ToString(Convert.ToUInt32(NowPageNumberLab.Text)-1);
Pagination();
}
/// <summary>
/// 点击上一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LnkBtnNext_Click(object sender, EventArgs e)
{
NowPageNumberLab.Text = Convert.ToString(Convert.ToInt32(NowPageNumberLab.Text) + 1);
Pagination();
}
/// <summary>
/// 点击最后一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LnkBtnBack_Click(object sender, EventArgs e)
{
NowPageNumberLab.Text = BackPageNumberLab.Text;
Pagination();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值