我尝试以编程方式编写一个方法并将其分配为 onclick 事件调用的方法,但有些地方不对。该方法未被调用。
BulletedList bulletList = new BulletedList();
我使用将项目添加到项目符号列表中bulletList.Items.Add(...);
我尝试以编程方式分配项目符号列表单击方法bulletList.Click += new BulletedListEventHandler(bulletList_Click);
这是应该被触发的方法
voidBulletList_Click(对象发送者,BulletedListEventArgs e)
{
//这里的代码
}
除非您创建了自己的特殊类来处理事件,否则您可能只是在寻找:
bulletList.Click += new EventHandler(bulletList_Click);
Edit:
事实上,你的命令是正确的。但是,阅读上面您的评论,它是通过编程创建的,我有一个更新:
为了向以编程方式创建的对象注册事件,必须在调用期间创建该事件并将其添加到页面上的控件中。Page_Init
事件。如果没有发生这种情况,该对象将不会添加到视图状态中,并且不会捕获任何事件。
Edit 2:
这是一篇关于 4GuysFromRolla 的文章 https://web.archive.org/web/20211020131055/https://www.4guysfromrolla.com/articles/081402-1.aspx这帮助我在上次需要的时候完成了这个任务。这是后续文章 https://web.archive.org/web/20210330142645/http://www.4guysfromrolla.com/articles/092904-1.aspx因为它表明了为什么基于在 ViewState 中拥有控件的需要,Page_Init 事件是合适的。我在其他论坛的其他地方看到,可以通过确保每次回发时添加与上次加载页面相同的控件来避免此问题,但我尚未验证该功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)