“System.Web.UI.WebControls.GridViewDeletedEventArgs”并不包含“RowIndex”的定义

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
if (Session["UserName"] == null && Session["UserPwd"] == null)
{
Response.Redirect("~/denglu.aspx");
}
else
{

if (Session["UserName"].ToString() == "Tsoft" && Session["UserPwd"].ToString() == "111")
{
string UserId = this.GridView1.DataKeys[e.RowIndex].Value.ToString();
SqlConnection con = DB.createDB();
con.Open();

SqlCommand cmd = new SqlCommand("delete from tb_Users where (UserName NOT IN ('Tsoft')) AND UserId='" + UserId + "' ", con);
cmd.ExecuteNonQuery();

this.aa();
this.GridView1.EditIndex = -1;
}
else
{
Response.Write("<script>alert('你没有权限删除,必须是管理员才能进行删除操作!');location='javascript:history.go(-1)'</script>"); } }

你应该写的是GridView1_RowDeleting事件,不应该是GridView1_RowDeleted。我也有同样的错误,改过来了!
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-14
我也是这个问题,请问你解决了吗??

ASP.NET问题 GridView中e.rowindex需要什么命名空间
命名空间就是 System.Web.UI下的,其实就不需要另外引入。GridView只有特定事件的EventArg才有这个属性,和命名空间无关。如RowDataBound,其EventArg就有这个属性。记忆中只有关于行的事件才会有这个RowIndex,还有如RowDeleting,RowEditing等。详细的你可以一个个事件加载上,在代码看一看。

相似回答