我在页面里面用“上一页”“下一页”换页。
总是只能点击“下一页”,并且只能点两次,再点就出错;如果点“上一页”一下就出错。
为什么?

解决方案 »

  1.   

    用什么写的,datagrid般不会吧,datalist吗?
      

  2.   

    页面载入时,绑定语句写在:
    if (!IsPostBack)
      

  3.   

    private void bind()
        {
            string searchword = TextBox1.Text.ToString().Trim();
            string btime = DropDownList1.Text.ToString().Trim();
            string etime = DropDownList2.Text.ToString().Trim();
            DataSet ds = new DataSet();
            Class1 search = new Class1();
            if (RadioButtonList1.Text == "篇名")
            {
                ds = search.searchone(searchword, btime, etime);
            }
            else if (RadioButtonList1.Text == "作者")
            {
                ds = search.searchtwo(searchword, btime, etime);
            }
            else if (RadioButtonList1.Text == "关键词")
            {
                ds = search.searchthree(searchword, btime, etime);
            }
            else if (RadioButtonList1.Text == "摘要")
            {
                ds = search.searchfour(searchword, btime, etime);
            }
            this.GridView1.DataSource = ds;        
            GridView1.AllowPaging = true;
            GridView1.PageSize = 30;
            GridView1.DataBind();
            int i = ds.Tables[0].Rows.Count;
            int p = GridView1.PageCount;
            int q = GridView1.PageIndex + 1;
            this.recount.Text = i.ToString();
            this.pacount.Text = p.ToString();
            this.pa.Text = q.ToString();       
            
        }
    protected void Button2_Click(object sender, EventArgs e)//“首页”按钮代码
        {       
            GridView1.PageIndex = 0;
            bind();
        }
        protected void Button3_Click(object sender, EventArgs e)//“上一页”按钮代码
        {       
            GridView1.PageIndex = GridView1.PageIndex - 1;
            bind();
        }
        protected void Button4_Click(object sender, EventArgs e)“下一页”按钮代码
        {        
            GridView1.PageIndex = GridView1.PageIndex + 1;
            bind();        
        }
        protected void Button5_Click(object sender, EventArgs e)“末页”按钮代码
        {       
            GridView1.PageIndex = GridView1.PageCount - 1;
            bind();       
        }
      

  4.   

    没做判断吧 在就是你最先调用方法的时候没有加if(isPostBack)
    {}
      

  5.   

    上一页的时候你得判断PageIndex 不能比0小
    下一页 得判断是不是比总页数还大