日期:2014-05-19  浏览次数:20832 次

郁闷一天了,datalist控件不能触发事件?期待高手中的高手
Datalist控件不能触发Delete Edit ItemMand 事件?? 
在网上找了一天,自己试验了n次,结果还是不能第二次成功,(我第一次做成功了),后来copy代码时发现什么都copy过去并不能实现原来的效果,
在网上找到了这样一篇文章:使用DataList绑定时,出了一个让人百思不得其解的错误:
本来EditCommand,DeleteCommand都好好的,运行很正常,突然间就出不再响应,点edit   和   delete对应的按钮木有反映,只是刷新页面,不进入“状态”,设置断点察看,editcommand和deletecommand根本没有触发.
一路Ctrl+Z后,代码返回初始状态,按说该没问题了吧。。。可他还是没有响应。
后来发现,如果新建一个页面,再把代码拷过去,则新页面工作正常。
由于时间紧,第一次时没太在意,使用新页面就算了(汗,比较懒的说),可后来这个问题有出来了,只好认真对待了。。。。经观察,如果在EditCommand事件处理程序已经写过了的话,在EditItem中添加一个新的runat=server的控件就会导致EditCommand和DeleteCommand事件无法触发,这时即使撤销,问题依旧。
后来发现,如果新建页面后,直接拷贝全部代码(当然,类名等是改了的)的话,问题并不能解决,而我第一次能解决,是因为在属性管理其中通过双击先添加了EditCommand等事件的处理程序,再把里边的代码考了过去,是不是因为这个呢??
说干就干。。。没想到真是这样。。。。。

最后发现,如果添加了新控件,只要在属性管理器中,选择该DataList,然后选择它的EditCommand,DeleteCommand后的框框,双击鼠标,跳到代码页面后什么都不用改,保存,再Ctrl+F5则一切OK。
郁闷啊。。。这是不是VS2003的一个Bug,或者是俺那个*版有问题。。。

但是还是不知道怎么回事,怎样才可以让它正常运行??
期待高手中的高手、、、、、、、、、、、、

------解决方案--------------------
一个简单的方法就是把他删除,然后再拖过来一个
------解决方案--------------------
事件是不是掉了?
我以前遇到过类似问题,基本都是事件掉了,但为什么会掉,一直没弄明白!