雪雨星风 发布留言 2008-10-20 12:05
gridview更新出错(万分紧急)
string sqlcomm = "update edp_job_schoolrecord set job_body = '" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() + "' where job_schoolrecordid = " + GridView1.DataKeys[e.RowIndex].Value + "";
if (DB.dsinsert(sqlcomm))
{
Response.Write("");
}
else
{
Response.Write("");
}
bindgridview();
雪雨星风 发布留言 2008-10-20 12:05
指定的参数已超出有效值的范围。
参数名: index
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。
参数名: index
源错误:
行 56: protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
行 57: {
行 58: string sqlcomm = "update edp_job_schoolrecord set job_body = '" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() + "' where job_schoolrecordid = " + GridView1.DataKeys[e.RowIndex].Value + "";
行 59: if (DB.dsinsert(sqlcomm))
行 60: {
源文件: e:\Edp_job\Edp_Admin\admin_ltbk.aspx.cs 行: 58
雪雨星风 发布留言 2008-10-20 12:05
((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim()
它不是这样写的吗
雪雨星风 发布留言 2008-10-20 12:24
[em06] 大哥们
拜托 帮我改一下
雪雨星风 发布留言 2008-10-20 12:25
小弟不胜感激
前两天我做好后测试还没问题
bygg 发布留言 2008-10-20 12:32
GridView1.Rows[e.RowIndex].Cells[0].Controls[0]
GridView1中有数据吗???
-------------------------------------------
指定的参数已超出有效值的范围。
参数名: index
-------------------------------------------
这个错误只有这里可能出错
雪雨星风 发布留言 2008-10-20 13:36
绝对有数据
没有数据的话我点编辑干什么
zsf2006 发布留言 2008-10-20 16:36
我较你一法,你试试
((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim()改为如下:
TextBox tb=e.Row.FindControl("txtBoxName") as TextBox再不行的话,打断点跟踪调试
bygg 发布留言 2008-10-20 17:28
你看一下e.RowIndex的值是什么...
snipered 发布留言 2008-10-20 18:20
用FindControl()试试
雪雨星风 发布留言 2008-10-21 11:28
e.RowIndex
的值是行的索引
从0开始
我调试了 有值
雪雨星风 发布留言 2008-10-21 11:35
GridView1_RowUpdating 我是在这个事件中写的
没有e.row
TextBox tb = GridView1.Rows[e.RowIndex].FindControl("Job_body") as TextBox;
这样写还是位空
页: [1]