protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        try {            if (e.Row.RowType == DataControlRowType.DataRow)            {
                ((LinkButton)(e.Row.Cells[0].Controls[0])).Attributes.Add("onclick","return confirm('删除吗?')");
            }
        
        }
        catch { }
    }里面就两句代码。
e.Row.RowType == DataControlRowType.DataRow   这个是什么意思?
((LinkButton)(e.Row.Cells[0].Controls[0])).Attributes.Add("onclick","return confirm('删除吗?')");
这里面的Cells[0],Controls[0],Attributes,都有什么用法?设置成0是做什么用的?可否帮写个注释,小弟刚学。请赐教!!谢谢

解决方案 »

  1.   

    e.Row.RowType == DataControlRowType.DataRow 意思是说你数据行,而非表头标题和页脚.意思是只在数据行找到控件添加属性.
    Cells[0]是一行数据的第一个小格子,当然cell[1]代表第二个格子.
    Cells[0].Controls[0]是第一个格子里的第一个控件(因为第一个格子里可能有多个控件).
    Attributes.Add("onclick","return confirm('删除吗?')");是把javascript加到控件上,让控件有触发客启端的属性.当你点击控件时会先提示你"删除吗?"然后再执行服务器端的代码.
      

  2.   

    Cells[0],指的是第几个单元格,Controls[0],指的是第几个控件,Attributes,指的是属性。
    设置成0是因为GrieView中默认的第一个元素是从0开始的。
      

  3.   

    e.Row.RowType == DataControlRowType.DataRow  判断当前行是否是数据行Cells[0]  当前行的第一个单元格Controls[0]  控件集合的第一个控件
    Attributes 控件的属性集0  下标都是从0开始的,和数组下标一样,实现的功能就是:在数据行第一个单元格找到第一个控件,作为linkbutton,并添加新的属性,即:删除确认对话框
      

  4.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) //数据绑定,触发控制行事件
        { 
            try {             if (e.Row.RowType == DataControlRowType.DataRow) //如果选中了某一行操作            { 
                    ((LinkButton)(e.Row.Cells[0].Controls[0])).Attributes.Add("onclick","return confirm('删除吗?')"); 
                } //强制转换成linkbutton类型,并且添加属性,当点击时,则弹出警告框,询问是否删除。至于[0]就是默认的第一个元素
            
            } 
            catch { } 
        } 
      

  5.   

     
    ((LinkButton)(e.Row.Cells[0].Controls[0])).Attributes.Add("onclick","return confirm('删除吗?')"); * 在e.Row.Cells[0].Controls[0]的位置应该放置了一个LinkButton控件。
    * 而.Attributes.Add是加入client属性.
    因为LinkButton是服务器端控件,一个客户端属性无法在Property window里指定,就可以以这种方式赋值。
    * ("onclick","return confirm('删除吗?')"); onclick是一个类似于C#中Event的属性。既click时实行后面的方法。
    return confirm('删除吗?')是一个java script的方法。
      

  6.   

    对GridView中的数据行中的第一个单元格中的第一个控件添加点击时提示确认删除的属性
      

  7.   

        e对象提供了RowDataBound事件的数据,e对象的属性Row获取要创建或绑定的行,而Row对象的RowType属性提供GridViewRow行的状态,返回值是DataControlRowState中的一个枚举。DataControlRowType.DataRow是一个枚举中的成员,它指定数据控件中行的功能。比较这两个的值是否相等,然后在执行后面的语句。不知道这么说你能不能明白,具体建议你用对象浏览器查一下~~(视图->对象浏览器)。
        Cells和Controls是集合类,C#提供了一种机制,可以通过类似数组的形式访问集合类,设置成0就是读取该集合类中的第一项的值。