关于Gridview 的rowupdating事件
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e){
int ID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
string Pass = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString();
string Sname = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString();
string Sgender = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString();
string Sbirth = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString();
string Sorgin = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.ToString();
string Schoolyear = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[9].Controls[0])).Text.ToString();
string Sdepart = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[10].Controls[0])).Text.ToString();
SqlConnection sqlconstr = new SqlConnection();
sqlconstr.ConnectionString = "server=localhost;database=StudentManage;Trusted_Connection=SSPI";
string Updatesql = "update Studentinfo set password=" + Pass + ",Sname=" + Sname + ",Sgender=" + Sgender + ",Sbirth=" + Sbirth + ",Sorgin=" + Sorgin + ",Schoolyear=" + Schoolyear + ",Sdepart=" + Sdepart + "where='" + ID.ToString() + "'";
SqlCommand cmd = new SqlCommand(Updatesql, sqlconstr);
sqlconstr.Open();
cmd.ExecuteNonQuery();
cmd.Dispose();
sqlconstr.Close();
GridView1.EditIndex = -1;
BindData();
}
==================================================
指定的参数已超出有效值的范围。
参数名: index
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。
参数名: index
源错误:
行 48: string Sorgin = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.ToString();
行 49: string Schoolyear = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[9].Controls[0])).Text.ToString();
行 50: string Sdepart = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[10].Controls[0])).Text.ToString();
行 51: SqlConnection sqlconstr = new SqlConnection();
行 52: sqlconstr.ConnectionString = "server=localhost;database=StudentManage;Trusted_Connection=SSPI";
请问各位这是什么问题? --------------------编程问答-------------------- 调试下看看那GridView1.Rows[e.RowIndex].Cells[8].Controls[0]) 是什么东西,应该没有这个东西 --------------------编程问答-------------------- 参考一下这里面的详细代码。http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridview.rowupdating.aspx --------------------编程问答-------------------- 估计是GridView1.Rows里的内容访问越界了把 --------------------编程问答-------------------- 感觉你序号为8的那个里面的0号控件不是textbox
补充:.NET技术 , ASP.NET