DataList控件数据绑定和分页

这篇博客展示了如何在ASP.NET中实现分页功能,包括后台代码的编写,如PagedDataSource的使用,以及页面加载时的逻辑处理。文章还详细解释了如何根据用户交互更新页面,并通过Paging()方法控制导航按钮的启用状态。此外,讲解了首页、上一页、下一页和尾页点击事件的处理方法。
摘要由CSDN通过智能技术生成

必须要添加 AutoPostBoack=ture,CausesValidation=true

下面是cs中的后台代码:

 PagedDataSource pds = new PagedDataSource();  //分页的自带类

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
      {

               //分页的方式显示
                this.TextBox1.Text = "1";  //初始化页数

                BindList();

     } 

 //分页方法
    public void BindList()
    {
        pds.AllowPaging = true;  //允许分页
        pds.DataSource = new ArticlesManager().ShowArticleDataList();  //绑定数据
        pds.PageSize = 8;  //设置容量
        this.TextBox2.Text = pds.PageCount.ToString();  //得到总页数
        pds.CurrentPageIndex = (Convert.ToInt32(this.TextBox1.Text) - 1); //设置当前要现实的页码

        // this.lbinfo.Text = "第" + (CurrentPageIndex + 1) + "页,共" + this.PageCount + "页";
        this.DataListDEtails.DataSource = pds;  //将数据绑定到DataList1控件上
        this.DataListDEtails.DataBind();

        Paging();   // 设置前台,首页,上一页,下一页,尾页的连接是否可用
    }

//按键的可视性方法,比如没有下一页的数据,就点不了下一页和尾页

 private void Paging()
    {
        // 如果当前是首页,则设置控件的enabled属性为false
        this.lbtheader.Enabled = this.lbtshang.Enabled = !pds.IsFirstPage;
        // 如果当前是尾页,则设置控件的enabled属性为false
        this.lbtfooter.Enabled = this.lbtxia.Enabled = !pds.IsLastPage;
    }

//首页点击事件

 protected void lblheader_Click(object sender, EventArgs e)
    {
        this.TextBox1.Text = "1";
        BindList();
       
    }

//上一页点击事件

   protected void lbtshang_Click(object sender, EventArgs e)
    {
        this.TextBox1.Text = (Convert.ToInt32(this.TextBox1.Text) - 1).ToString();
        BindList();
    }

//下一页点击事件

protected void lbtxia_Click(object sender, EventArgs e)
    {
        this.TextBox1.Text = (Convert.ToInt32(this.TextBox1.Text) + 1).ToString();
        BindList();       
    }

//尾页点击事件

 protected void lbtfooter_Click(object sender, EventArgs e)
    {
        this.TextBox1.Text = this.TextBox2.Text;
        BindList();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值