指定的参数已超出有效值的范围。参数名: index

GXUN 2006-02-05 11:12:46
在CSDN上搜索到同样的问题有3个,跟帖的人不少,但是没有能给给出解决方法,在此再帖出来让大家讨论一下怎么解决.
在做DataGrid的编辑时遇到的问题,点击"更新"就弹出这个错误:
异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。参数名: index


源错误:
行 145: string ID=e.Item.Cells[0].Text.ToString();
行 146: Label1.Text=((TextBox)e.Item.Cells[1].Controls[0]).Text.ToString();
//下面两行都是正确的,就是上面这行(行 146:)有问题
//Label1.Text=((TextBox)e.Item.Cells[0].Controls[0]).Text.ToString();
//Label1.Text=((TextBox)e.Item.Cells[2].Controls[0]).Text.ToString();

源文件: e:\asp.net应用程序\cyt\admin_searchfile.aspx.cs 行: 146

我的代码如下(点击"更新"时触发):

private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string dsn=ConfigurationSettings.AppSettings["DSN"];
SqlConnection Conn=new SqlConnection(dsn);
Conn.Open();
//获取相应行的相应字段值
string ID=e.Item.Cells[0].Text.ToString();
Label1.Text=((TextBox)e.Item.Cells[1].Controls[0]).Text.ToString();
/*
string number=((TextBox)e.Item.Cells[1].Controls[0]).Text.ToString();
string name=((TextBox)e.Item.Cells[2].Controls[0]).Text.ToString();
string page=((TextBox)e.Item.Cells[3].Controls[0]).Text.ToString();
string time=((TextBox)e.Item.Cells[4].Controls[0]).Text.ToString();
//更新数据
string Sql="update text set number='"+number+"',text='"+name+"',page_num='"+page+"',release_time='"+time+" where id="+ID;
SqlCommand Comm=new SqlCommand(Sql,Conn);
Comm.ExecuteNonQuery();
DataGrid1.EditItemIndex=-1; //禁止用户编辑DataGrid
BindGrid(); //重新填充
*/
Conn.Close();
}
...全文
1538 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
singlepine 2006-02-05
  • 打赏
  • 举报
回复
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.Item.ItemType==ListItemType.EditItem)
{
//code
}
}
GXUN 2006-02-05
  • 打赏
  • 举报
回复
谢谢,问题解决了!!!
就是用你这个办法,只是不理解它的意思而已!!!

接分~~~(少了点,表介意哈)
lxcc 2006-02-05
  • 打赏
  • 举报
回复
Label1.Text=((TextBox)e.Item.Cells[1].Controls[0]).Text.ToString();
^
if(e.Item.ItemType==ListItemType.EditItem)

如果不是EditItem,e.Item.Cells[1].Controls里面不会有你要的TextBox.
GXUN 2006-02-05
  • 打赏
  • 举报
回复
请问这个IF是什么意思?假如不符合IF那我上面的这条出错语句不就不能执行了吗?

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧