为什么我在点击datagrid的任何按钮时都会触发aspnetpager的PageChanged事件?
想只有翻页时触发此事件

解决方案 »

  1.   

    private void InitializeComponent()
    {    
    this.txtEndDate.TextChanged += new System.EventHandler(this.txtEndDate_TextChanged);
    this.btnSearchOrder.Click += new System.EventHandler(this.btnSearchOrder_Click);
    this.dgOrders.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgOrders_CancelCommand);
    this.dgOrders.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgOrders_EditCommand);
    this.dgOrders.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgOrders_UpdateCommand);
    this.dgOrders.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgOrders_DeleteCommand);
    this.dgOrders.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dgOrders_ItemDataBound);
    this.Load += new System.EventHandler(this.Page_Load);
    this.thisPager.PageChanged+=new Wuqi.Webdiyer.PageChangedEventHandler(thisPager_PageChanged);
    }
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!this.IsPostBack)
    {
    BindDate("","OrderId desc",thisPager.CurrentPageIndex,thisPager.PageSize);//
    AddCustomText();
    }

    }private void thisPager_PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e)
    {
    thisPager.CurrentPageIndex=e.NewPageIndex;

    this.BindDate(Session["whereClause"].ToString(),"OrderId desc",thisPager.CurrentPageIndex,thisPager.PageSize);
    // ViewState["source"]=orders;
    AddCustomText();
    }
    private void BindDate(string whereClause,string orderBy,int start,int pageLength)
    {
    int count;
    OrdersCollection orders =Data.OrdersProvider.GetPaged(whereClause,orderBy,start,pageLength, out count);
    Session["whereClause"]=whereClause;
    if(orders!=null)
    {
    ViewState["source"]=orders;
    }
    thisPager.RecordCount=count;
    //datagrid数据绑定
    dgOrders.DataSource=ViewState["source"];
    dgOrders.DataKeyField="OrderId";
    dgOrders.DataBind();
    }
    public void AddCustomText()
    {
    //动态设置用户自定义文本内容
    thisPager.CustomInfoText+=" 总页数:<font color=\"blue\"><b>"+thisPager.PageCount.ToString()+"</b></font>&nbsp;";
    }
      

  2.   

    上面倒不是大问题,还有一个问题就是,每次翻页都会执行!ispostback下的语句,谁碰到过类似情况,帮忙解释下,谢谢.