提示“索引超出范围。必须为非负值并小于集合大小” 大侠们求救
protectedvoidGridView1_RowUpdating1(objectsender,GridViewUpdateEventArgse){//GridView...
protected void GridView1_RowUpdating1(object sender, GridViewUpdateEventArgs e)
{
//GridView1.DataKeyNames = new string[] { "StuID" };
//string str = this.GridView1.DataKeys[e.RowIndex].Value.ToString();
StuInfo info = new StuInfo();
//info.ID = Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value.ToString());
info.StuID = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString().Trim();
info.StuName = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString().Trim() ;
info.StuSex = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.ToString().Trim();
info.StuAge = Convert.ToInt32(((TextBox)this.GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text);
info.StuScore = Convert.ToSingle(((TextBox)this.GridView1.Rows[e.RowIndex].Cells[5].Controls[0]).Text);
info.StuBrithday = Convert.ToDateTime(((TextBox)this.GridView1.Rows[e.RowIndex].Cells[6].Controls[0]).Text);
info.StuPicture = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[7].Controls[0]).Text.ToString().Trim(); ;
StuManage.UpdateStuInfo(info);
this.GridView1.EditIndex = -1;
Databind();
} 展开
{
//GridView1.DataKeyNames = new string[] { "StuID" };
//string str = this.GridView1.DataKeys[e.RowIndex].Value.ToString();
StuInfo info = new StuInfo();
//info.ID = Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value.ToString());
info.StuID = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString().Trim();
info.StuName = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString().Trim() ;
info.StuSex = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.ToString().Trim();
info.StuAge = Convert.ToInt32(((TextBox)this.GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text);
info.StuScore = Convert.ToSingle(((TextBox)this.GridView1.Rows[e.RowIndex].Cells[5].Controls[0]).Text);
info.StuBrithday = Convert.ToDateTime(((TextBox)this.GridView1.Rows[e.RowIndex].Cells[6].Controls[0]).Text);
info.StuPicture = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[7].Controls[0]).Text.ToString().Trim(); ;
StuManage.UpdateStuInfo(info);
this.GridView1.EditIndex = -1;
Databind();
} 展开
5个回答
展开全部
估计是你cell的索引从1开始,一般是从0开始吧,除非第0列作为序号什么的了。
应该是Cells[0]~Cells[6]。
提示很明显了,索引超出范围:
e.RowIndex,为-1?
.Cells[n],你没有那么多cell
Controls[0],是不是这个cell没有control
。
debug跟一下,看看rowindex的值是不是-1,cells[7]存不存在。
应该是Cells[0]~Cells[6]。
提示很明显了,索引超出范围:
e.RowIndex,为-1?
.Cells[n],你没有那么多cell
Controls[0],是不是这个cell没有control
。
debug跟一下,看看rowindex的值是不是-1,cells[7]存不存在。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是cells的标号多了1了,cells是从0开始计算的,如果要取第一个单元格应该用cells[0],依次类推,看看是不是这个原因,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加断点,调试一个,以后这种问题别老是百度了,要学会自己解决一些错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询