这是一个GridView名命为GVHq_Info,在更新操作时,得不到修改后的值是怎么回事??如我的Eatery_HQ_Name修改前是"上海"修改成“上海市”,可是我在update里面用((TextBox)(GVHq_Info.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim()得到的还是“上海”而不是“上海市”,为什么呢?请指点一下,谢谢。急用。其它没有错,就是((TextBox)(GVHq_Info.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim()得到的数据不是期望的值。而是修改前的值,请指点。protected void GVHq_Info_RowUpdating(object source,GridViewUpdateEventArgs e)
{
MySqlConnection objMyconn = new MySqlConnection(sConnStr);
//LbTest.Text = GVHq_Info.DataKeys[e.RowIndex].Value.ToString(); string sqlstr = "update Eatery_HQ_Info set Eatery_HQ_Name='" + ((TextBox)(GVHq_Info.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "'" where Eatery_Hq_Id=" + GVHq_Info.DataKeys[e.RowIndex].Value.ToString().Trim(); MySqlCommand sqlcom = new MySqlCommand(sqlstr, objMyconn);
try
{
objMyconn.Open();
sqlcom.ExecuteNonQuery();
objMyconn.Close();
GVHq_Info.EditIndex = -1; }
catch (Exception err) { } finally { } InitData();
}
{
MySqlConnection objMyconn = new MySqlConnection(sConnStr);
//LbTest.Text = GVHq_Info.DataKeys[e.RowIndex].Value.ToString(); string sqlstr = "update Eatery_HQ_Info set Eatery_HQ_Name='" + ((TextBox)(GVHq_Info.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "'" where Eatery_Hq_Id=" + GVHq_Info.DataKeys[e.RowIndex].Value.ToString().Trim(); MySqlCommand sqlcom = new MySqlCommand(sqlstr, objMyconn);
try
{
objMyconn.Open();
sqlcom.ExecuteNonQuery();
objMyconn.Close();
GVHq_Info.EditIndex = -1; }
catch (Exception err) { } finally { } InitData();
}
{
if (! IsPostBack )
{
InitData();
}
}一般而言是因为没有判断回传,用数据库的值重新覆盖了刚修改的值