前台JS事件与服务器事件的执行顺序
(1)页面加载:
服务器端Page_Load------>前台js的onload事件
(2)服务器端控件(假如是按钮控件)
前台的js事件----->服务器端Page_Load----->服务器端按钮事件-------->前台onload事件
既:开始加载页面时,先执行服务器端onload事件,再执行客户端js的onload事件。 单击某个控件时,先执行该控件的客户端js单击事件,再执行服务器端的onload事件,然后执行该控件服务器端的单击事件,最后执行客户端js的onload事件。
情景:
RegularExpressionValidator, RequiredFieldValidator, CustomValidator等验证控件的ValidationGroup绑定一个控件ID,这个控件又有自己的onClientClick事件触发js脚本代码
顺序:onClientClick事件早于验证控件的前台JS验证
点击服务器控件后,要想先执行服务器事件,再执行客户端事件的话,该如何实现:
此情景为:点击Button按钮,往数据库中插入数据,若插入成功,在客户端使用JS弹出提示信息。
将客户端事件如此编写和放置:
<script type="text/javascript">
<%if(flag==1) {%>
showWindow('comfirmationreminder_container',500,300);
<%}%>
</script>
</form>
PPS:flag变量是用来标记后台数据是否插入成功的
PS:放置在form最后面;<% 里面可以直接写C#语句,放置后台参数%>
神奇的哇~
待续……