注册 登录
编程论坛 ASP.NET技术论坛

gridview更新出错(万分紧急)

雪雨星风 发布于 2008-10-20 12:05, 2967 次点击
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("<script>alert('恭喜你信息更新成功!')</script>");
        }
        else
        {
            Response.Write("<script>alert('恭喜你信息更新失败!')</script>");
        }
        bindgridview();
11 回复
#2
雪雨星风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
#3
雪雨星风2008-10-20 12:05
((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim()


它不是这样写的吗
#4
雪雨星风2008-10-20 12:24
大哥们
拜托 帮我改一下
#5
雪雨星风2008-10-20 12:25
小弟不胜感激
前两天我做好后测试还没问题
#6
bygg2008-10-20 12:32
GridView1.Rows[e.RowIndex].Cells[0].Controls[0]

GridView1中有数据吗???
-------------------------------------------
指定的参数已超出有效值的范围。
参数名: index
-------------------------------------------

      这个错误只有这里可能出错
#7
雪雨星风2008-10-20 13:36
绝对有数据
  没有数据的话我点编辑干什么
#8
zsf20062008-10-20 16:36
我较你一法,你试试
((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim()改为如下:
TextBox tb=e.Row.FindControl("txtBoxName") as TextBox

再不行的话,打断点跟踪调试
#9
bygg2008-10-20 17:28
你看一下e.RowIndex的值是什么...
#10
snipered2008-10-20 18:20
用FindControl()试试
#11
雪雨星风2008-10-21 11:28
e.RowIndex
的值是行的索引
从0开始
  

我调试了  有值
#12
雪雨星风2008-10-21 11:35
GridView1_RowUpdating  我是在这个事件中写的


没有e.row

 TextBox tb = GridView1.Rows[e.RowIndex].FindControl("Job_body") as TextBox;


这样写还是位空
1