加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 为什么事件冒泡,为什么不直接订阅click事件?

发布时间:2020-12-16 07:02:33 所属栏目:asp.Net 来源:网络整理
导读:我正在浏览一篇关于asp.net中事件冒泡的文章,并且知道虽然可以从包含页面订阅用户控件按钮的click事件,但“这样做会破坏一些面向对象的规则封装”.更好的想法是在用户控件中发布一个事件,以允许任何感兴趣的各方处理该事件. 我的问题是,如何从包含页面直接订
我正在浏览一篇关于asp.net中事件冒泡的文章,并且知道虽然可以从包含页面订阅用户控件按钮的click事件,但“这样做会破坏一些面向对象的规则封装”.更好的想法是在用户控件中发布一个事件,以允许任何感兴趣的各方处理该事件.

我的问题是,如何从包含页面直接订阅按钮的click事件会破坏面向对象的封装规则?

如果它是一个愚蠢的问题,请道歉. :|

谢谢!

解决方法

Button应该由UserControl封装.

如果Page直接绑定到按钮上的事件,则页面现在依赖于UserControl的内部工作方式.

页面应该使用UserControl,而不是UserControl的按钮.如果UserControl的作者后来想要删除该按钮并使用某种花哨的新方法来触发其“提交”事件,则您的页面可能会被破坏,因为该按钮可能不再存在.

就此而言,如果UserControl的所有者在v1.1中决定将按钮从btnSubmit重命名为SubmissionButton,它也可能会破坏您的页面.

最好使用UserControl并让它关注自己的内部工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读