日期:2014-05-18  浏览次数:20530 次

GridView连接点击删除,得到的id有问题
目前最主要的问题就是:
我点gridview上面的删除,在RowDeleting事件,通过GV.DataKeys[(int)e.RowIndex].Values[0].ToString()取得的id值有时候是错的(如果光点,不写删除代码的时候一直是对的)

表现形式为:   点一条记录,上面的语句取出的id是我点的记录的id+1   ,造成了下一条记录也被删除(本条也被删了,即删了2条数据)

通过测试,发现RowDeleting事件里面的e.rowindex没错,但是GV.DataKeys[(int)e.RowIndex].Values[0].ToString()值就不对了(有时候)

求达人帮忙~~~~~~~~~~~(开了300多分的贴了,谁帮我解决全给啊~~~~~)



------解决方案--------------------
我写的删除代码 你参考一下吧,好用的
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int pID;
pID = Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value.ToString());
//Response.Write(pID);
SqlConnection con = DB.createrConnection();
SqlCommand cmd = new SqlCommand( "delete from person where pID= " + pID + " ", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
this.GridViewToBind();
}
------解决方案--------------------
我来接分了,哈哈必须要加 !ISPostback