为什么在.aspx页面中,所有事件都以“On
”开头,例如“OnClick
”,“OnCommand
”,在代码隐藏文件中,它们被称为“Click
”,“Command
”?只是命名公约还是有一些合理的解释吗?为什么命名不同?
Q
为什么命名不同?
5
A
回答
3
事件本身的名称是Click,Change等......内部方法从代码中激发这些事件的前缀是“On”作为命名约定。在ASP.NET标记中,您使用了OnClick属性,但您实际上正在将方法连接到“Click”事件。因此,VS为你自动生成的方法是ButtonName_Click。此方法在内部作为代理传递给事件本身。
1
AFAIK,只是命名约定。他们必须从一些东西开始:-)在ASP.NET之前,我认为在Windows应用程序和JavaScript中也是如此。
http://www.c-sharpcorner.com/UploadFile/puranindia/165/
http://webdevelopersjournal.com/articles/jsevents1/jsevents1.html
+0
只是一个遵循VB风格的名称约定。有趣的是Delphi/VCL惯例正好相反。 – 2010-01-24 12:32:10
0
我可以有你的问题错了,但我可以通过你的询问告知,事件和属性不能有相同的名称
的事件是“点击“...例子。
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
但是在实际控制中,有一个名为“OnClick”的属性,因此它激活“Click”事件。因此,他们不能被命名为相同的东西。
相关问题
- 1. 为什么不将Array.prototype.some命名为.any?
- 2. 为什么我不能重命名列?
- 3. 为什么不重命名文件? Powershell
- 4. 为什么命名查询?
- 5. 为什么谷歌云中不同的包或命名约定?
- 6. 为什么mercurial会提醒我不同的重命名?
- 7. 为什么CRTP实现和接口方法命名不同?
- 8. 为什么此rsync命令不同步?
- 9. 为什么命名函数在未命名时不起作用?
- 10. 为什么谓词命名约定在不同函数之间有所不同?
- 11. 为什么log4j重命名文件名?
- 12. 合同名称与命名空间名称相同,有什么大不了的?
- 13. 为什么Node.js命名为Node.js?
- 14. 为什么文件被命名为catalina.out?
- 15. 为什么case class被命名为'case'?
- 16. 为什么subprocess.Popen类未命名为Subprocess?
- 17. 创建输入命令(不知道该命名为什么)
- 18. 为什么运行命令作为git别名会产生不同的结果?
- 19. 为什么不允许模板专门化在不同的命名空间中?
- 20. 将命令重命名为不同的命名空间
- 21. 为什么不同的名字给了我不同的结果?
- 22. 为什么同时存在System.Net.Http和System.Web.Http命名空间?
- 23. 为什么命名:NodeList vs childNodes
- 24. 为什么stdClass命名空间?
- 25. 为什么pyparsing去除命名结果?
- 26. 为什么CSLA这样命名?
- 27. 为什么没有Microsoft.Win64命名空间?
- 28. 为什么命名List'1.cs
- 29. RAII为什么如此命名?
- 30. 为什么Covariance和Contravariance这样命名?
点击后,执行点击方法。我想我们可以称它为'Button1_Clicked'方法,以获得更高的准确性。 – Armstrongest 2010-05-12 17:49:04