问题提示:索引超出范围。必须为非负值并小于集合大小
代码如下:
for (i = 0; i < GridViewSchool.Rows.Count; i++)
{
Flag = ((CheckBox)GridViewSchool.Rows[i].FindControl("chkSel")).Checked;
if (Flag)
{
animal.ID = Convert.ToInt16(GridViewSchool.DataKeys[i].Value);
//索引超出范围。必须为非负值并小于集合大小
animal.DeleteAnimal();
}
}
注:GridViewSchool 是一个 GridView ,chkSel 是一个复选按钮,animal.ID 是 类名.关键字,
animal.DeleteAnimal()是调用类中的删除方法。删除方法如下:
#region 删除指定动物
public void DeleteAnimal()
{
Database db = DatabaseFactory.CreateDatabase("DBConnectionString");
string strSql = "delete from Animal where ID = '" + this.ID + "'";
DbCommand cmd = db.GetSqlStringCommand(strSql);
try
{
db.ExecuteNonQuery(cmd);
}
catch (Exception)
{
// 没事
}
}
#endregion
代码如下:
for (i = 0; i < GridViewSchool.Rows.Count; i++)
{
Flag = ((CheckBox)GridViewSchool.Rows[i].FindControl("chkSel")).Checked;
if (Flag)
{
animal.ID = Convert.ToInt16(GridViewSchool.DataKeys[i].Value);
//索引超出范围。必须为非负值并小于集合大小
animal.DeleteAnimal();
}
}
注:GridViewSchool 是一个 GridView ,chkSel 是一个复选按钮,animal.ID 是 类名.关键字,
animal.DeleteAnimal()是调用类中的删除方法。删除方法如下:
#region 删除指定动物
public void DeleteAnimal()
{
Database db = DatabaseFactory.CreateDatabase("DBConnectionString");
string strSql = "delete from Animal where ID = '" + this.ID + "'";
DbCommand cmd = db.GetSqlStringCommand(strSql);
try
{
db.ExecuteNonQuery(cmd);
}
catch (Exception)
{
// 没事
}
}
#endregion
解决方案 »
- .NET 回调问题··求助啊
- 后台调用JS 关模式闭子窗口,刷新页面!!!急!!!
- asp.net水晶报表怎么让打印机选择对话框不弹出来,直接打印
- JavaScriptSerializer需要导入哪些js文件
- 如何用Javascript在 页面上输出一个/号啊?
- 一个关于DataGrid的问题
- 在按钮事件里怎么使用模式对话框
- 怎样用asp.net 2.0实现在线点歌发送到手机
- 我有两个页面,一个是datagrid显示所有的主表信息,另一个显示相应主表记录的明细,我想求助各位,如何通过双击主表页面的某一行,显示相
- 求助:大页面的处理方法。
- 怎样在用户控件里拿到页对象
- =号附近有语法错误!怎么回事儿,进来指教下!
这里i用的不合适吧,i是行数
<asp:GridView ID="gvNewsList" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="NewsId"
PageSize="15" Width="95%" OnPageIndexChanging="gvNewsList_PageIndexChanging" CssClass="tbs1" CellSpacing="1" border="0" OnSelectedIndexChanged="gvNewsList_SelectedIndexChanged">
这里没有 DataKeyNames 属性
[size=50px]结贴了[/size]