惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
B
Blog
博客园_首页
博客园 - 司徒正美
有赞技术团队
有赞技术团队
博客园 - 聂微东
I
InfoQ
美团技术团队
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog

博客园 - 中国土匪

MSSql Datetime转换成char 的样式汇总 OpenSocial容器开发,资料备注 列出数据库中有数据的表的全部数据 比较两个数据库之间差异的存储过程 关于Web Application中的类无法在页面中引用的问题 图形字符名称表(备查) 决心--重新拾起技术! BitComet的IE插件BitCommet Helper可能给系统造成错误的巨大Bug!!!求解决方案 Page事件发生的先后顺序 操作IIS过程中碰到的问题总结 在 ASP.NET 中使用计时器(Timer) (转载) 当了3个礼拜老师感想 给CheckboxList分页 在.net1.1中发送邮件的几种办法 常用正则表达式总结 datalist分页方式汇总(更新了一种方法) membership.findusersbyname模糊匹配的写法 用BitComet的奇怪问题 装了红帽子9了
关于ItemCommand事件 (转自混沌居)
中国土匪 · 2006-07-19 · via 博客园 - 中国土匪

在一次课上,讲解ItemCommand事件和DeleteCommand事件的时候,学生问我为什么每次点了CommandName为“delete”的按钮的时候ItemCommand事件也被触发了呢?因为我平时写程序的时候没注意这个问题,一下子还真把我难住了! 回办公室后反复做了实验(通过打开页面的Trace跟踪,在相应的事件里用Trace.Warn()方法输出),最后得出结论:

1、ItemCommand事件是DataList控件产生的默认事件,任何DataList控件中CommandName为delete/cancel/update/edit的按钮被点击后,首先触发的是ItemCommand事件,然后才是相应的事件。

2、但是当DataList控件中存在一个普通按钮,点击后触发ItemCommand事件,假设执行功能为选择当前项,此时如果点击了CommandName为edit的按钮,将当前项显示为编辑状态。这个时候并没有出现当前行既被选中又被编辑的情形,这和以上的结论(先触发ItemCommand事件)好象相违背。事实上这并不矛盾,因为DataList控件中的项同一时刻只能显示一个模板,所以执行过程应该是这样的。点击了CommandName为edit的按钮后首先触发了ItemCommand事件,将当前的项显示为SelectedItemTemplate模板,然后再触发EditCommand事件,将当前的项显示为EditItemTemplate模板,覆盖了前面已经显示的SelectedItemTemplate模板,只不过因为速度太快,肉眼看不出这个过程而已!