ASP.NET AJAX ToolKit 中Accordion的关于OnItemCommand的bug, 通过修改重编译源文件完成修补

3.0.30229.0版本的Ajax toolkit 的dll.
截止昨晚查看是http://asp.net/ajax/上能下载到的最新版本

因为这边的一个简单想法需求,需要在Accordion中自定义好header和content的templete后用自己的datasource进行绑定

其实用法和repeater差不多 主要问题在于OnItemCommand事件的参数AccordionCommandEventArgs e,理应是这个
不过运行之后系统提示编译错误,对于OnItemCommand无可用overload,而只认CommandEventArgs.

而实际上AccordionCommandEventArgs 是继承于CommandEventArgs,并且前者多实现一个Container属性,这个属性能获得当前Pane里的对象。

还好这个ajax toolkit是完全开源的,下载了最新版本发现这个bug没有更新过,尝试下自己修改再编译,竟然成功。难道之前没人用动态数据绑过Accordion?

项目中的accordion文件夹中的accordion.cs里
第65行我认为理应是如下表示,可是原本却是public event CommandEventHandler ItemCommand;

        /// <summary>
        /// Event to raise when a command is fired
        /// </summary>
        public event EventHandler<AccordionCommandEventArgs> ItemCommand;

有空大家一起来研究,我这的版本是对应.net framework 3.5的,那个对应2.0版本的toolkit没试过

不过话说回来现在虽然能触发pane中的button事件了,不过还是有些其他问题的,不知道是因为accordion本身就还是半完成品呢才留这么个bug的。。。
搜遍google baidu都没看到类似问题 发上来大家讨论讨论。。。



posted @ 2008-05-15 12:52  BetaGeek™  阅读(1762)  评论(0编辑  收藏  举报