C# 如何以编程方式将单击事件分配给以编程方式创建的项目符号列表?

C# 如何以编程方式将单击事件分配给以编程方式创建的项目符号列表?,c#,C#,我试图以编程方式编写一个方法,并将其指定为在onclick事件中调用的方法,但这里有些不对劲。未调用该方法 BulletedList bulletList=新建BulletedList() 我使用bulletList.items.Add(…)将项目添加到项目符号列表中 我试图用bulletList.Click+=newbulletedlistedventhandler(bulletList\u Click)编程分配bulletList\u Click方法 这是应该触发的方法 无效项目列表\单击(

我试图以编程方式编写一个方法,并将其指定为在onclick事件中调用的方法,但这里有些不对劲。未调用该方法

BulletedList bulletList=新建BulletedList()

我使用
bulletList.items.Add(…)将项目添加到项目符号列表中

我试图用
bulletList.Click+=newbulletedlistedventhandler(bulletList\u Click)编程分配bulletList\u Click方法

这是应该触发的方法

无效项目列表\单击(对象发送者,项目列表目标e) { //这里的代码 }


除非您创建了自己的特殊类来处理事件,否则您可能只是在寻找:

bulletList.Click+=新建事件处理程序(bulletList\u Click)

编辑:
实际上,你的命令是正确的。但是,在阅读您的上述注释(该注释是通过编程创建的)后,我有一个更新:

为了为以编程方式创建的对象注册事件,必须在
page\u Init
事件期间创建事件并将其添加到页面上的控件中。如果不发生这种情况,对象将不会添加到viewstate,并且不会捕获任何事件

编辑2:

这帮我在最后一次需要的时候完成了。例如,根据控件处于ViewState的需要,指示为什么Page_Init事件是合适的。我在其他论坛的其他地方看到,通过确保每次回发控件都与上次加载页面时添加的控件相同,可以避免这种情况,但我尚未验证该功能。

您是否尝试过从Visual Studio的拖放界面自动生成事件处理程序?就像选择控件,从右侧的事件列表中选择Click事件,然后在生成的处理程序中编写代码一样?

您是使用VS之类的IDE还是手动编写代码?您好,我使用的是Visual Studio。此外,BulletList是以编程方式创建的。您好,我得到了一个
无法将类型“System.EventHandler”隐式转换为“System.Web.UI.WebControls.bulletedListenthandler”
然后使用“System.Web.UI.WebControls.bulletedListenthandler”而不是“EventHandler”,否?是的。是的,看看我上面的问题,我使用了一个
项目符号ListedEventHandler
@csl:我根据你的一条评论添加了一个编辑。问题中的代码在我看来很好,但很可能因为创建对象的时间而没有触发。您好,但是如果BulletedList是用
Page\u Init
方法以外的其他方法创建的,会发生什么情况?