指数超出范围。必须是非负数且小于集合的大小。参数名称:index

时间:2012-12-06 02:26:43

标签: c# asp.net aspchart

我有一个不同系列的条形图。每个系列必须指向不同的页面。 我正在给网址。我收到了这个错误。

  

指数超出范围。必须是非负数且小于   集合。参数名称:index描述:未处理   在执行当前Web请求期间发生异常。   请查看堆栈跟踪以获取有关错误的更多信息   它起源于代码。

     

异常详细信息:System.ArgumentOutOfRangeException:索引已经用完   范围。必须是非负的且小于的大小   采集。参数名称:index

     

来源错误:

     

第133行:series1.Points [i] .MapAreaAttributes =“Target = \”_ blank \“”;   第134行:series1.Points [0] .Url =“db_PMUKPI_ByRM.aspx?Month =”+   iMonth +“& Year =”+ iYear;第135行:series1.Points [1] .Url =   “db_PmuKpi_AllMonths.aspx?Month =”+ iMonth +“& Year =”+ iYear;线   136:series1.Points [2] .Url =“db_PmuKpi_AllMonths.aspx?Month =”+ iMonth   +“& Year =”+ iYear;第137行:series1.Points [3] .Url =“db_PmuKpi_Overall_DateRange.aspx?Month =”+ iMonth +“& Year =”+ iYear;

2 个答案:

答案 0 :(得分:1)

在没有看到实际代码的情况下,我假设您正在使用某种循环,并且第133行在循环内部。看来你正试图访问你的对象series1.Points [i],我是索引。记住索引通常从0开始并以对象数结束 - 1.因此,如果您使用for..loop,请按以下方式执行:

int numItems = series1.Points.Count();
for (int i = 0; i < numItems; i++)
{
series1.Points[i].MapAreaAttributes = "Target=\"_blank\"";
}

答案 1 :(得分:0)

GridView缺少Datakeyname =“id”