OnClick到底运行在哪,客户端?服务端?
2019-03-16 本文已影响6人
IT老五
dotnet.itlao5.com.net开发新手,看到项目中有的控件包含OnClick和OnClientClick,有的控件包含OnClick和OnServerClick;那么问题来了,这个OnClick事件触发的方法到底运行在哪里呢?
不懂就要搞懂,经过一番折腾,终于明白了这属于两类控件。
asp控件OnClick和OnClientClick
在asp控件中,OnClick是执行后台C#方法,而客户端方法则通过OnClientClick执行。
需要注意的是:
- OnClientClick优先于OnClick执行
- OnClientClick中是这样写的“return click();”:如果返回为true,则会继续执行OnClick事件;如果为false,则中止
asp控件OnClick和OnServerClick
在asp控件中,OnClick是执行客户端方法,而服务端方法则通过OServerClick执行。
需要注意的是:
- OnClick优先于OnServerClick执行
- 如果通过OnClick控制OnServerClick是否执行,OnClick这样写“javaScript:if(clickJsMethod())”
runat="server"
不管是html控件还是asp控件,都有一个属性runat,如果设置runat="server",可让控件变为服务端控件,此时,在服务端需要加入对应的方法,并且点击控件,当经过客户端click方法校验后,会执行服务端方法。
简书:ThinkinLiu 博客: IT老五
学习中,如果有误,欢迎一起探讨!