【发布时间】:2011-05-04 05:33:42
【问题描述】:
我正在 ASP.Net 中创建一个文件浏览器,但我遇到了一个我认为与动态控件上的事件关联有关的问题。我将在这里解释我的代码的作用:
当我的页面加载 (OnLoad) 时,我调用一个方法 (createStuff()),该方法创建多个链接按钮(表示当前目录中的文件夹),这些链接按钮连接到将当前目录更改为关联的事件的事件使用链接按钮。
由于在调用 OnLoad 之后会触发链接按钮单击事件(因此当前目录在 onload 之后首先更改),因此链接按钮不会更新以反映新的当前目录(它们是在当前目录更改之前创建的通过点击事件)。因此,我还在 OnLoadComplete 中调用 createStuff() 导致链接按钮被更新并反映新当前目录中的文件夹。
但是(这是我的问题)似乎我在 createStuff() 中执行的事件连接 (Click += new EventHandler(changeDirectory)) 在 OnLoadComplete 中调用该方法时并没有真正起作用(在之后调用 OnLoadComplete已触发链接按钮单击事件)。结果是虽然链接按钮的文本属性反映了新目录中的文件夹,但单击链接按钮不会触发事件。
我该如何解决这个问题?我尝试在 OnLoad 中重新连接 LinkButtons 上的事件,但结果相同。
提前谢谢你
西蒙,丹麦
【问题讨论】:
-
能否提供一些示例代码?具体来说,我想知道您是否为在 createStuff() 中动态创建的控件指定了 ID 值。
-
嗨,感谢您的评论,这里是 createStuff() 方法:rafb.net/p/k0YlrU67.html 如您所见,我没有指定 ID 值。
标签: asp.net click linkbutton dynamic-controls