如题,我的更新代码如下:
---------------------------------------------------
protected void Dg_Update(object sender,DataGridCommandEventArgs e)
{
int Key=(int)Dg.DataKeys[(int)e.Item.ItemIndex];
String Name=((TextBox)e.Item.Cells[0].Controls[0]).Text;//姓名
String Pass=((TextBox)e.Item.Cells[1].Controls[0]).Text;//密码
//获取数据完毕,下面更新数据库开始
//Response.Write("主键:"+Key+"**"+Name+"**"+Pass);//这里测试的数据全是旧的
//Response.End();
SqlConnection MyConn=new SqlConnection("server=***;uid=sa;pwd=;database=bbs;");
SqlCommand MyComm=new SqlCommand("UPDATE bbs_user SET user_name='"+Name+"',user_pass='"+Pass+"' WHERE ID="+Key,MyConn);
try
{
MyConn.Open();
MyComm.ExecuteNonQuery();
MyConn.Close();
}
catch(Exception ee)
{
throw ee;
}
Dg.EditItemIndex=-1;
Dg.DataBind();
}
-------------------------------------------------------------------------
问题出在String Name=((TextBox)e.Item.Cells[0].Controls[0]).Text;
它取不到我刚刚输入的数据(全是之前的旧的数据).这是怎么回事呢?肯请大虾指点.
DataGrid中的更新取值问题