2013-04-06 49 views
0

我問了一個類似的問題,但情況已經改變。惱人的回發和分頁問題

我通過代碼綁定我的gridview而不是源。

分頁工作正常,但如果我點擊GridView的第二頁上的按鈕(分頁後),回發導致分頁重置爲第1頁。誰能告訴我我做錯了什麼?

在我的pageload中,我設置了!POSTBACK方法,如圖所示,即如果有回發事件,那麼它不應該重置網格,但它!

赫雷什在onload:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Session["usersName"] != null) 
     { 

      object a = Session["_id"]; 

      IDMaster = Convert.ToInt32(a); 

      GridView1.Columns[10].Visible = true; 
      GridView1.Columns[11].Visible = true; 

     } 

     else 
     { 
      GridView1.Columns[10].Visible = false; 
      GridView1.Columns[11].Visible = false; 
     } 




     if (!IsPostBack) 
     { 
      BindGrid(); 
     } 

的BindGrid();

  SqlConnection sqlcon = new SqlConnection(connstring); 
      SqlCommand sqlcmd = new SqlCommand("select * from Coffees ORDER BY coffeeName ASC", sqlcon); 
      SqlDataAdapter adp = new SqlDataAdapter(sqlcmd); 
      DataSet ds = new DataSet(); 
      adp.Fill(ds); 
      GridView1.DataSource = ds.Tables[0]; 
      GridView1.DataBind(); 

頁索引方法:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     GridView1.PageIndex = e.NewPageIndex; 

     if(ViewState["searchTerm"] != null) 
     { 
      object a = ViewState["searchTerm"]; 
      string reloadTerm = a.ToString(); 

      setGrid(reloadTerm); 
     } 

回答

0

你需要你的GridView綁定在GridView1_PageIndexChanging事件

GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    GridView1.PageIndex = e.NewPageIndex; 

     if(ViewState["searchTerm"] != null) 
     { 
      object a = ViewState["searchTerm"]; 
      string reloadTerm = a.ToString(); 

      setGrid(reloadTerm); 
     } 
     BindGrid(); 
} 

希望它爲你工作。

+0

感謝您的回答。遺憾的是,現在讓我想起當我點擊第2頁時,然後gridview正在消失的問題。 – user1352057 2013-04-06 22:06:47

+0

嗨,只是嘗試在你的事件中使用你的'BindGrid()'方法而不是'DataBind()'。我已經更新了我的答案。 – Sachin 2013-04-06 22:10:59

+0

再次感謝您的幫助。我已經嘗試了綁定,但回傳後仍然將分頁重置爲1 – user1352057 2013-04-06 22:16:54

0

你既然是動態結合網格視圖,請刪除頁面加載

if (!IsPostBack) 

條件。網格視圖需要每次綁定。

0

我發現此問題。我忘記了將一個項目添加到我的購物車後,我打電話給response.redirect刷新了頁面......顯然這意味着頁面被召回刷新了頁面,因此網格總是會重置。再次感謝。