protected void Page_Load(object sender, EventArgs e)
    {           if (!IsPostBack)
        {
            Bind();
        }    }
    public void Bind()
    {
        int CurrentPage = 1;
        PagedDataSource ps = new PagedDataSource();
        
        string sqlstr = "select * from UserInfo";
       
        SqlDataAdapter da = new SqlDataAdapter(sqlstr, sqlcon);
        DataSet ds = new DataSet();
        da.Fill(ds, "UserInfo");
        ps.DataSource = ds.Tables["UserInfo"].DefaultView;
        ps.AllowPaging = true;
        ps.PageSize = 5;
        ps.CurrentPageIndex = CurrentPage - 1;
        lnkbtnFront.Enabled = true;
        lnkbtnFirst.Enabled = true;
        lnkbtnNext.Enabled = true;
        lnkbtnLast.Enabled = true;
        if (CurrentPage == 1)
        {
            lnkbtnFirst.Enabled = false;
            lnkbtnFront.Enabled = false;
        }
        if (CurrentPage == ps.PageCount)
        {
            lnkbtnNext.Enabled = false;
            lnkbtnLast.Enabled = false;
        }
               this.labCount.Text = Convert.ToString(ps.PageCount);
        this.DataList1.DataSource = ps;
        this.DataList1.DataKeyField = "ID";
        this.DataList1.DataBind();
     }
 protected void lnkbtnFirst_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = "1";
        this.Bind();
    }
    protected void lnkbtnFront_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) - 1);
        this.Bind();
    }
    protected void lnkbtnNext_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) + 1);
        
        this.Bind();
    }
    protected void lnkbtnLast_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = this.labCount.Text;
        this.Bind();
    }

解决方案 »

  1.   

    点下一页的时候,出现, this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) + 1);处显示(输入字符串的格式不正确。)
      

  2.   

    你设一个断点看看,我分析是因为:this.labNowPage.Text不是一个整数
      

  3.   

    我知道大概是什么原因了,因为label中的内容在新的一次回发过程中会重新赋值,又变成为空了。你可以尝试用Textbox代替label,然后使用样式将textbox的边框去掉,让它看上去还是像一个标签。
      

  4.   

    有可能这里转换导致异常Convert.ToInt32(this.labNowPage.Text),你可以把这句显示出来看看
      

  5.   

    调试吧,,this.labNowPage.Text 可能为空,,调试看一下。。