gridview更新时出错

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox mount = new TextBox();
int index = e.RowIndex;
string id = GridView1.DataKeys[index].Value.ToString();
int mount1 =Convert.ToInt32( ((TextBox)GridView1.Rows[index].Cells[3].FindControl("mount")).Text);
//int i = Convert.ToInt32(mount);
string sqlupdate = "update shopcart set mount='"+mount1+"' where cartid="+Convert.ToInt32(id) ;
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
sqlcon.Open();
SqlCommand cmd = new SqlCommand(sqlupdate, sqlcon);
cmd.ExecuteNonQuery();
GridView1.EditIndex = -1;
bindtogridview();
}
我都把textbox实例化了,怎么还提示有错误呢,其实当浏览页面的时候,点击编辑后,数量的那列就没出现textbox
------解决方案--------------------TextBox mount = new TextBox();
int index = e.RowIndex;
string id = GridView1.DataKeys[index].Value.ToString();
int mount1 =Convert.ToInt32( ((TextBox)GridView1.Rows[index].Cells[3].FindControl("mount")).Text);
不能这样写的,你真正理解FindControl的意思了吗?FindControl("mount")是找一个ID为 mount 的TextBox,你有这个ID吗?
这里显然是错的
------解决方案--------------------找不到mount
------解决方案--------------------点编辑,你都没有textbox,又怎么找得到呢?
绑定时用BoundField,会自动出现编辑框的(不要设置ReadOnly)