大侠们指点一下,为什么我的分页没效果呢,下面的页数显示,但是没效果。
public partial class MemberCard_Gerenziliao : System.Web.UI.Page
{
    private DataSet ds;
    private DataSet ds0;
    private DataSet ds1;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["UserID"] == null)
        {
            Response.Redirect("../default.aspx");
        }
       
    }
    
    protected void Button1_Click(object sender, EventArgs e)
      {
               
                string Userid = this.TextBox1.Text.Trim();                              
               if (Userid == "")
         
                {
                    
                    return;
                }
                 string sSQL = "";                sSQL += " select  cardname 卡号,btime 起始时间,etime 中止时间,  ";
               
                sSQL += " isnull(cs,0) 消费次数,isnull(zjine,0) 总消费金额,isnull(c.je,0) 卡内余额 ";
                
                sSQL += " from cardbaseinfo a left join (select cardcode,count(cardcode) cs,sum(zjine) zjine   from ConsumeRecord where cardcode='" + Userid + "' group by cardcode) b on a.cardname=b.cardcode ";
                sSQL += " left join SurplusValue c on a.cardname=c.cardcode ";
                sSQL += " where a.cardname='" + Userid + "' ";               
                DataSet ds = Comm.SqlHelper.ExecuteDataSet(Comm.SqlHelper.ConnectionString, CommandType.Text, sSQL);
                DetailsView1.DataSource = ds.Tables[0];
                DetailsView1.DataBind();                sSQL = "";
                sSQL += " select card_id 卡号,card_date 充值时间,card_je 金额  ";
                sSQL += " from SufficientValue ";
                sSQL += " where card_id='" + Userid + "' ";                ds1 = Comm.SqlHelper.ExecuteDataSet(Comm.SqlHelper.ConnectionString, CommandType.Text, sSQL);
                GridView2.DataSource = ds1.Tables[0];
                GridView2.DataBind();              
               sSQL = "";
                sSQL += " select   ";
                sSQL += " cardcode 卡号, counter 柜台, storeid 门店, consumedate 时间,mainid 主类, convert(numeric(18,2),zjine) 消费金额, convert(numeric(18,2),ljine) 卡内金额, score 本次积分 ";
                sSQL += " from ConsumeRecord a left join CardBaseInfo b on a.cardcode=b.cardname ";
                sSQL += " where b.cardname='" + Userid + "' ";                ds0 = Comm.SqlHelper.ExecuteDataSet(Comm.SqlHelper.ConnectionString, CommandType.Text, sSQL);
                if (ds0.Tables[0].Rows.Count <= 0)
                {                    message.Visible = true;
                    message.Text = "无效卡!";
                    return;
                }
                else 
                {
                    message.Visible = false;
                    GridView1.DataSource = ds0.Tables[0];
                    GridView1.DataBind();                }
                         
            }
  
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        GridView1.DataSource = ds0;
        GridView1.DataBind();
        
    }
   protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView2.PageIndex = e.NewPageIndex;
        GridView2.DataSource = ds1;
        GridView2.DataBind();
    }
}

解决方案 »

  1.   

    主要是一刷新页面,ds0 和ds1 都变成null了
    把查询出来的ds存在viewstate["ds"]=ds
    分页的时间里面再取出来 dataset ds=(dataset)viewstate["ds"],然后再保存
      

  2.   

    把你的点击事件里的数据绑定提出来单独作为一个方法,然后在pageload事件里写
    if(!IsPostback)
    {
         //你那个方法
    }
      

  3.   

    如果把事件里的数据绑定提出来单独作为一个方法,就不能写在Button1_Click事件里了,这样单击按钮时没有任何反应。