当前位置:编程学习 > C#/ASP.NET >>

索引超出范围

索引超出范围。必须为非负值并小于集合大小。
参数名: index 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

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

源错误: 


行 243:
行 244:        IList<model.depinfo> ss1 = new BLL.bdep().getdepment(Convert.ToDateTime(txtdate.Value.ToString()), DropDownList1.SelectedValue.ToString());
行 245:        txtyingdao.Text = ss1[0].Quantity.ToString();

 


是什么原因,怎么修改? --------------------编程问答-------------------- 代码贴出来! --------------------编程问答-------------------- ss1 没有元素 --------------------编程问答-------------------- txtyingdao.Text = ss1[0].Quantity.ToString();
看样子0这个都没有, --------------------编程问答-------------------- 先看看你的ss1有没有获取到值吧。 --------------------编程问答-------------------- 先打断点调试。。。 --------------------编程问答-------------------- 判断ss1 是否为空。count是否不为0  --------------------编程问答-------------------- 检查一下 ss1的Length --------------------编程问答-------------------- 这种问题打断点,debug,监视一下ss1就知道了~ --------------------编程问答--------------------  IList<model.depinfo> ss1 = new BLL.bdep().getdepment(Convert.ToDateTime(txtdate.Value.ToString()), DropDownList1.SelectedValue.ToString());

ss1为空!

    你先判断一下if(ss1.Count() != 0) --------------------编程问答-------------------- IList<model.depinfo> ss1 = new BLL.bdep().getdepment(Convert.ToDateTime(txtdate.Value.ToString()), DropDownList1.SelectedValue.ToString());
if(ss1.Count>0)
 txtyingdao.Text = ss1[0].Quantity.ToString();
--------------------编程问答--------------------
引用 3 楼 sql77 的回复:
txtyingdao.Text = ss1[0].Quantity.ToString();
看样子0这个都没有,

空值的话会出现错误。检查下ss1[0]是不是为空 --------------------编程问答-------------------- 代码贴出来! --------------------编程问答-------------------- 给变量添加个监视跟一下 --------------------编程问答-------------------- 无代码,无真像 --------------------编程问答-------------------- 判断索引是否有值
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,