小弟以前用1.0的,最近弄成2.0的写一些东西就不怎么明白了,有一个问题想请教各位大哥:我在GridView 中添加了一个Delete按钮,可是我不知道该用GridView中的RowDeleted还是RowDeleting事件。在响应的函数中该怎么获取GridView中第一列的ID值?我记得以前在ASP.NET1.0中可以通过DeleteCommand(object sender,DataGridCommandEventArgs e){
string ID=Convert.ToString(e.Item.Cell[0].Text);
}
来处理,在2.0中我就不知道该怎么办了。请各位大哥赐教,谢谢了!急啊

解决方案 »

  1.   

    2.0中可以直接在sqldatasource组件中写deletecommand语句,编辑功能基本上不用额外写代码
    deletecommand="Delete From [表] where id=@id"
      

  2.   

    RowDeleted是指删除该行后触发的事件,RowDeleting是指删除该行前触发的事件。所以应该使用RowDeleting。
    在GridView中有一个属性DataKeyNames,设置如:DataKeyNames="id"
    在你的RowDeleting事件中就可以访问了,e.Keys[e.RowIndex].
      

  3.   

    楼上的很正确,其实给DataGrid的事件很类似,改了改名字。
      

  4.   

    非常感谢  lhcoolhacker(hugh-lin) 问题已经解决了原事件是这样
     protected void GridView1_RowDeleting(object sender, EventArgs e)现改成
     protected void GridView1_RowDeleting(object sender, System.Web.UI.WebControls.GridViewDeleteEventArgs e)事件名,属性等都要自己写,有点麻烦,有没有自动生成的? 就像双击Button一样 :)