C#.NET边学边用(三)

时间:2021-08-14 11:19:36
1.把确认窗口代码绑定到DataGrid中的LinkButton

    在asp.net用到确认按钮最多的是后台的删除操作(毕竟这是个危险的动作),一般在DataGrid上用的比较多,在DataGrid的操作就是多按钮项的操作,所以首先得找到按钮项,然后把confirm绑定上去。在绑定函数ItemDataBound中实现,ItemDataBound函数提供了在客户端显示数据项之前访问该数据项的最后机会,在项被数据绑定到 DataGrid 控件后发生。找到需要绑定控件所在表格中的位置(e.Item.Cells[].FindControl(), 注①),由于要绑定的控件没有出现在DataGrid的顶和底,可以判断当前Item属性进行排除,具体举例如下:
1  private   void  DataGrid1_ItemDataBound( object  sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
2  {
3       if (e.Item.ItemType != ListItemType.Header  &&  e.Item.ItemType != ListItemType.Footer)
4      {
5          LinkButton deleteButton  =  (LinkButton) e.Item.Cells[ 7 ].FindControl( " Linkbutton1 " );
6          deleteButton.Attributes[ " OnClick " ] = " return confirm('删除后将无法恢复,你确认要删除吗?') " ;
7      }
8  }
9 

注①,不可以使用名字访问DataGrid中的控件,因为在当前页上讲会有几个具有同以名字的空间(一行一个),ASP.NET自动把每行防盗它自己命名的容器中以避免冲突,所以对于一个绑定的空间,可以使用一个索引号找到其所在,e为事件参数对象,提供了一个到当前行的引用,利用它先找到单元格(cell[索引号]),然后再是控件(FindControl(“控件名”)或Control[索引号])。索引号以数0开始。