Dim L(8) As LinkButton
  For i = 0 To 8
            L(i) = New LinkButton
AddHandler L(i).Click, AddressOf l_Click
ph.Controls.Add(L(i))
next Protected Sub l_Click(ByVal sender As Object, ByVal e As System.EventArgs)大概就是这样的代码,但触发时就一点反应也没有,
请问各位是不是我在写代码时有些事情应该注意没注意到呢?

解决方案 »

  1.   

    你的第一段代码写到哪里了呢?看你的问题上的思路,你似乎没有在乎什么时候运行这段代码。你说得内容根本不足以判断你是否明白这段代码写到哪里。你还是写一个只有十几行代码的demo页面,复现你的问题。这样比较好理解你的写法。
      

  2.   

    第一段代码因为每一个 LinkButton要绑定一个数据,所以,前面的代码是写在绑定完毕的事件
    中的,参数可以正常传递
      

  3.   

    “绑定完毕的事件中”,那就是说当页面postback而再次装载的时候是不会执行他们了!
      

  4.   

    第一段代码写在哪很关键,因为必须每次PostBack都执行,所以最好写在Load里面。
      

  5.   

    写在LOAD里的话绑定数据的值就传不进控件里去了,
      

  6.   

    在你原来的绑定控件的动作之后,设置它们的事件处理是毫无意义的,因为asp.net并不会之后触发它们。之后,当页面再次postback的时候,动态控件没有重建并设置事件(此时设置它们才有意义),并且(当然)也就不会执行它们中的任何事件。你有好几个问题,似乎对asp.net页面的无状态处理流程整个没有学习过。你认为只要动态添加了控件,那么页面postback就应该自动恢复这些控件,甚至连事件都应该自动恢复。这根本不可能。这个基本道理我说无数次比较懒得说了:当你设计在aspx或者ascx上的控件,编译是自动产生创建控件的代码,页面在装载的时候首先被自动创建。而你的后台代码中动态创建的控件,就要自己写代码在每次页面装载时自动创建。
      

  7.   

    可以把我以前一个帖子中写的代码运行一下:http://community.csdn.net/Expert/topic/5328/5328527.xml?temp=.5083734