学员:曾平提问时间:2008-09-13 09:26:58
非常感谢上次给予我的帮助!
我看了金老师的在线相册,不像是给初学者的, 我看了半天,也只看出个大概,比如:btn.Command += new CommandEventHandler(btn_Command);就没怎么看懂, 能不能不用用户控件实现在线相册, 看去有点绕, 简单一点行吗,这毕竟是ASP.net基础课啊,不好意思,水平有限!
如有可能,希望给一个不用用户控件实现的代码!先谢谢了!btn.Command += new CommandEventHandler(btn_Command);如果用VB来写应该怎样写!
btn.Command = btn.Command & New CommandEventHandler(btn_Command)总是有问题,为什么?
回答人:polarstar (.NET学习顾问)回答时间:2008-09-13 12:51:10
刚开始学有点吃力是正常的,希望你可以克服困难。
btn.Command += new CommandEventHandler(btn_Command);
是对一个按钮事件管理它的处理函数,"btn"是按钮的名称,"Command"是一个事件,当按钮被点击或者定义的关联命令被激活后发生
Button的事件还有Click按钮被点击的时候发生,DataBinding当控件数据绑定表达式将要执行时发生,Disposed当控件被回收处理后发生,Init当页面被初始化后发生,Load当页面被加载后发生,PreRender当页面被呈现的时候发生,Unload当页面被卸载后发生。
btn.Command += new CommandEventHandler(btn_Command);表示把Command事件关联到函数btn_Command,这样当Command事件发生时(例如点击了按钮),这个函数就会执行。
VB的写法是在处理函数后加Handles btn.Command,其实你只要在可视化编辑界面中选中按钮,点右键选择“属性”,在属性框中点击事件图标,所有的事件都列举在那里,只要双击一下对应的事件就能就能自动创建事件关联和处理函数。
这种写法是错误的btn.Command = btn.Command & New CommandEventHandler(btn_Command)
事件关联必须使用+=来关联
个多事件信息可以看:
http://www.itcast.net/community/view/306
学员对该答案的评价 老师讲的没错,我在网上另外找了个VB的答案: Dim btnClick As New EventHandler(AddressOf Me.btnOnClick) AddHandler btn.Click, btnClick 我的原意是找个VB的答案, 我确实没学好关于委托的部分,用得少,谢谢老师!