早教吧作业答案频道 -->其他-->
编辑事件---取ID值时,出现如下错误,“/HotelManagerWeb”应用程序中的服务器错误.--------------------------------------------------------------------------------索引超出范围.必须为非负值并小于集合大小.参数
题目详情
编辑事件---取ID值时,出现如下错误,
“/HotelManager_Web”应用程序中的服务器错误.
--------------------------------------------------------------------------------
索引超出范围.必须为非负值并小于集合大小.
参数名:index
说明:执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.
异常详细信息:System.ArgumentOutOfRangeException:索引超出范围.必须为非负值并小于集合大小.
参数名:index
源错误:
行 28:protected void GridView1_RowEditing(object sender,GridViewEditEventArgs e)
行 29:{
行 30:int id = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex].Value.ToString());
行 31:Response.Redirect("UpdataRoomType?typeId" + id);
行 32:}
源文件:e:\Visual Studio 2008\Projects\HotelManager_Web\SelectRoomType.aspx.cs 行:30
“/HotelManager_Web”应用程序中的服务器错误.
--------------------------------------------------------------------------------
索引超出范围.必须为非负值并小于集合大小.
参数名:index
说明:执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.
异常详细信息:System.ArgumentOutOfRangeException:索引超出范围.必须为非负值并小于集合大小.
参数名:index
源错误:
行 28:protected void GridView1_RowEditing(object sender,GridViewEditEventArgs e)
行 29:{
行 30:int id = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex].Value.ToString());
行 31:Response.Redirect("UpdataRoomType?typeId" + id);
行 32:}
源文件:e:\Visual Studio 2008\Projects\HotelManager_Web\SelectRoomType.aspx.cs 行:30
▼优质解答
答案和解析
代码中有没有对 info 的元素进行扩充啊,从你提供的代码来看,info的元素是0个,当然不能该问了.
类中应该提供扩充 info 元素的方法.
这样改一下试试
public BlockInfo this[int index]//索引器,根据下标,返回一个BlockInfo
{
get
{
if (index < 0 || index >= info.Count)
{
throw new Exception("下标越界或不存在该元素");
}
else
{
return (BlockInfo)info[index];
}
}
}
///////你咋就不明白呢,你都不向 info 中添加元素,当然报错啦,试着加一个这个方法
public void AddBlock(BlockInfo b)
{
info.Add(b);
_length = info.Count;
}
然后在使用索引器之前选调用AddBlock 方法向里面添加元素,如:
InfoArr i=new InfoArr();
i.AddBlock(new BlockInfo()); //添加一个元素
BlockInfo b=i[0]; //访问其中的第一个元素
类中应该提供扩充 info 元素的方法.
这样改一下试试
public BlockInfo this[int index]//索引器,根据下标,返回一个BlockInfo
{
get
{
if (index < 0 || index >= info.Count)
{
throw new Exception("下标越界或不存在该元素");
}
else
{
return (BlockInfo)info[index];
}
}
}
///////你咋就不明白呢,你都不向 info 中添加元素,当然报错啦,试着加一个这个方法
public void AddBlock(BlockInfo b)
{
info.Add(b);
_length = info.Count;
}
然后在使用索引器之前选调用AddBlock 方法向里面添加元素,如:
InfoArr i=new InfoArr();
i.AddBlock(new BlockInfo()); //添加一个元素
BlockInfo b=i[0]; //访问其中的第一个元素
看了编辑事件---取ID值时,出现...的网友还看了以下:
平衡常数K值的大小能不能表示可逆反应进行的程度,为什么?在稀的水溶液中进行反应,如果反应中有水参加 2020-04-12 …
matlab三维坐标系,每个点对应一个值,把相同的值用线连起来如题,我要在matlab的三维坐标系 2020-05-16 …
有求必应中的应的意思 2020-06-03 …
有求必应中应的意思,荒无人烟中荒的意思,叹为观止中叹的意思快啊啊啊啊 2020-06-03 …
拉格朗日中值定理双介质问题设f(x)在[a,b]开区间连续闭区间可导,且ab均大于0,证明:必存在 2020-08-01 …
excel中如何查找某一行中最大值所对应的上一行的值?比如A1B1C1D1其对应的值为2347A2B 2020-10-31 …
(2011•常州)已知二次函数y=−x2+x−15,当自变量x取m时对应的值大于0,当自变量x分别取 2020-11-12 …
证明:arctanx+arccotx=π/2这是大专的高数题,要求用微积分的方法解答,前面刚刚讲过拉 2020-11-14 …
关于二次函数已知二次函数y=-x2+x-1/5,当自变量x取m时对应的值大于0,当自变量分别取m-1 2020-12-08 …
生成物的分子数比反应物多,该反应的标准摩尔熵值必是正值 2020-12-31 …