前面一篇<ASP.NET 动态加载控件的问题 >提到过控件时间加载和注册时机的问题,另外还有就是PostBack的问题.除了以上两个问题还有一个控件ID的问题容易被我们忽视.
在一个动态加载的控件中,又几个动态添加的Button要点击两次才会激发事件,但如果把这几动态添加的按钮直接到页面上而不是控件,那么一切又都正常,非常郁闷的问题,经过努力的探索之后发现给动态添加的按钮的ID属性赋值之后一起就正常了,如果不对ID赋值,那么ASP.NET会自动给控件分配一个ID,在两次PostBack的时候有可能分配不一样的ID值,这就导致按钮要点两下才会激发事件.所以我们在做动态控件时候不要偷懒,一定给ID指定一个值,否则这样的隐性错误实在折磨人.87d9a686