解决方法:在gridview中添加属性DataKeysNames="Usr_Id"
其中Usr_Id为要删除的列。
<asp:GridView ID="UsrList" AutoGenerateColumns="false" OnRowDeleting="UsrList_RowDeleting" DataKeyNames="Usr_Id" runat="server">
<Columns>
<asp:BoundField DataField="Usr_Id" HeaderText="ID" />
<asp:BoundField DataField="Usr_Name" HeaderText="用户名" />
<asp:BoundField DataField="Usr_Psd" HeaderText="密码" />
<asp:CommandField HeaderText="删除" ShowDeleteButton="true" />
</Columns>
</asp:GridView>
protected void UsrList_RowDeleting(object sender, GridViewDeleteEventArgs e)
{///GridView控件,删除用户
UsrInfo ui = new UsrInfo();
int uid=0;
uid = Int32.Parse(UsrList.DataKeys[e.RowIndex].Value.ToString());//获取用户ID
if (ui.DelUsr(uid))//删除用户
HttpContext.Current.Response.Write("<script>alert('删除成功!');window.location.href ='admin.aspx'; </script>");
else
HttpContext.Current.Response.Write("<script>alert('删除失败!');window.location.href ='admin.aspx'; </script>");
}