//后台代码
protected void gv_categories_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string bookid=gv_categories.DataKeys[e.RowIndex].Value.ToString()
string sqlstr = "delete from Catagories where Bookid= ' " + bookid + " ' ";
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[ "ConnectionString "].ConnectionString);
SqlCommand cmd = new SqlCommand(sqlstr, conn);
cmd.ExecuteNonQuery();
bind();
}
我跟踪了一下;第一行就取不到值.bookid是空值
错误提示:索引超出范围。必须为非负值并小于集合大小。
参数名: index
------解决方案--------------------------------------------------------
没有用过 gridview ,不知道
觉得没有datagrid 好
------解决方案--------------------------------------------------------
在gridview的属性中要先指定DataKeys的值。
<asp:GridView DataKeyNames= "**** " ...
***是绑定数据时某一个字段名