索引超出范围的问题

edwardliu 2009-07-08 05:54:14
用gridview的rowcommand
得到e.CommandArgument的值,付给一个int值的index
但是添加了GridView1.DataKeys[index].Value.ToString();语句之后,运行会显示
索引超出范围。必须为非负值并小于集合大小。
参数名: index
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index

源错误:


行 99: // TextBox31.Text = index.ToString();
行 100: // TextBox31.Text = GridView1.DataKeys[1.ToString();
行 101: TextBox31.Text= GridView1.DataKeys[index].Value.ToString();
行 102:
行 103: //index.ToString();

不知道是什么原因,请大家帮忙,如果这个语句不对,请问如何根据index来得到选定行的主键值,或者说特定列的值。谢谢。
...全文
133 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
muchi1987623 2009-08-01
  • 打赏
  • 举报
回复
GridView1.SelectedIndex = Convert.ToInt32(e.CommandArgument.ToString());
string Id = GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString();
Response.Redirect("teaEvaluate.aspx?Id=" + Id);
我取的是Id,可以的
edwardliu 2009-07-09
  • 打赏
  • 举报
回复
int index = Convert.ToInt32(e.CommandArgument.ToString());
string RollCode = ((GridView)sender).DataKeys[index].Values["轧辊编号"].ToString();
换成这样就可以取出特定字段,为什么之前的就不行呢?
tan123456789 2009-07-08
  • 打赏
  • 举报
回复
index 是關鍵字,你換個變量名試試。
cq139514 2009-07-08
  • 打赏
  • 举报
回复
别用index了,直接 GridView1.DataKeys[“你放在datakeynames 的字段名字”].Value.ToString();
edwardliu 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cq139514 的回复:]
for 循环应该是从0到e.CommandArgument-1 
[/Quote]
我没有取for循环,只取出特定行。
edwardliu 2009-07-08
  • 打赏
  • 举报
回复
我这么写进去了,但是好像还有不行,同样的问题。
ljhcy99 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 edwardliu 的回复:]
引用 1 楼 beijingqinghuadaxue 的回复:
你的datakeynames 设置没有

没有啊,需要什么设置呢?
[/Quote]

把你的主建 名字写进去,
比如是ID
那么datakeynames = "ID"
ljhcy99 2009-07-08
  • 打赏
  • 举报
回复
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write(this.GridView1.DataKeys[this.GridView1.SelectedIndex].Value.ToString());
}
cq139514 2009-07-08
  • 打赏
  • 举报
回复
for 循环应该是从0到e.CommandArgument-1
edwardliu 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 beijingqinghuadaxue 的回复:]
你的datakeynames 设置没有
[/Quote]
没有啊,需要什么设置呢?
十八道胡同 2009-07-08
  • 打赏
  • 举报
回复
e.CommandArgument-1
  • 打赏
  • 举报
回复

你的datakeynames 设置没有

62,046

社区成员

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

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

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

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