代码((LinkButton)(e.Row.Cells[7].Controls[0])).Attributes.Add()中 (LinkButton)(e.Row.Cells[7].Controls[0]) 怎么理解? Controls[0]方括号的0是什么?

解决方案 »

  1.   

    代表第7个cell中的第一个控件
      

  2.   

    这种编程方法很容易制造过多开发中的矛盾,我从来没有见过专业的开发人员敢这样发布产品代码。在开发中,有时候你增加一个简单的空格,asp.net解析程序就会在你的Controls[0]之前自动增加一个Literal控件。何况,人为地需要去调整控件次序的时候更多。因此专业的开发人员是使用FindControl的,而不是想当然地去以为 7 和 0 这类顺序号。
      

  3.   

    这种编程方法很容易制造过多开发中的矛盾,我从来没有见过专业的开发人员敢这样发布产品代码。在开发中,有时候你增加一个简单的空格,asp.net解析程序就会在你的Controls[0]之前自动增加一个Literal控件。何况,人为地需要去调整控件次序的时候更多。因此专业的开发人员是使用FindControl的,而不是想当然地去以为 7 和 0 这类顺序号。
      

  4.   

    稍明白点了,但前面的 (LinkButton) 起什么作用?去掉行不行?是控件类型转换?比较菜,还望高手帮解答下!
      

  5.   

    发现sp在这里教训人,不是解决问题!findControl固然有好处 和这数组直接定位,那个效率高!!!!
    看过sp发表的回复,看来sp的人品是有问题!
      

  6.   

    这个所谓的效率差,你在Sql里面少用一个'OR', 就相当于你在这里节约的时间的几万倍.而采用绝对序号定位控制所带来的负面影响,可以使你的项目就此挂掉.