GridView编辑、删除
想做一个 gridview自带的删除事件。。
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
GridViewRow row = GridView1.Rows[e.RowIndex];
int ID = int.Parse(GridView1.DataKeys[e.RowIndex].Values[0].ToString());
sql.delAdmin(ID);
}
public void delAdmin(int id)
{
cn.Open();
string del_Admin = "delete from admininfo where Id='" + id + "'";
SqlCommand cmd = new SqlCommand(del_Admin, cn);
try
{
int i = cmd.ExecuteNonQuery();
Console.WriteLine("删除成功");
}
catch
{
Console.WriteLine("删除失败");
}
finally
{
cmd.Dispose();
cn.Close();
}
}
为什么在我执行删除数据的时候
出现
索引超出范围。必须为非负值并小于集合大小。
参数名: index
int ID = int.Parse(GridView1.DataKeys[e.RowIndex].Values[0].ToString());
编辑也同样是这个错误。麻烦大家给解下。急。。谢谢
[解决办法]
int ID = int.Parse(GridView1.DataKeys[e.RowIndex].Values[0].ToString());
改成:
int ID = int.Parse(GridView1.DataKeys[e.RowIndex].Values.ToString());
试试,datakeys只能写一个吧,为什么要加Values[0]?