GridView_RowUpdating取不到新值的解决方法

  

复制代码 代码如下:

  protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

  {

  sqlcon = new SqlConnection(strCon);

  sqlcon.Open();

  string bianhao = Convert.ToString(this.GridView1.DataKeys[e.RowIndex].Value);

  string beizhu = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString();

  string sqlstr = "SQL語句'";

  sqlcom = new SqlCommand(sqlstr, sqlcon);

  sqlcom.ExecuteNonQuery();

  sqlcon.Close();

  GridView1.EditIndex = -1;

  bind();

  }

  取列的值為原來的,并不是更新后的,原因是因為Page_Load中加載了數據,每次更新后會自動刷新,所以需在Page_Load中判斷一下是否页面回传,再加載,如下

  

复制代码 代码如下:

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!Page.IsPostBack)

  {

  bind();

  }

  }