让服务器端控件同时执行客户端脚本和服务器端代码

简介:
让服务器控件的事件同时执行客户端脚本和服务器端代码
    问题:
        有时候我们需要一个服务器控件同时执行客户端脚本(如javascript)和服务器端代码。比如在进行表单验证的时候,希望先在客户端进行验证,只有通过验证才执行后台代码。这样可以避免不必要的postback,提供更好的用户体验。
    解决方案:
        在不同的地方分别注册客户端和服务器端事件处理函数。示例如下:
    Web页面代码(仅HTML部分):
     < HTML >
        
< HEAD >
            
< title > DoubleSidesHandler </ title >
            
< script  language ="javascript" >
                
function  submitClientHandler()
                {
                    
var  len  =  document.form1.txtName.value.length;
                    
if (len  <   3 )
                    {
                        window.alert(
" required at least 3 letters! " );
                        
return   false ;
                    }
                    window.alert(document.form1.txtName.value);
                    
return   true ;
                }
                
                
function  initHandler()
                {
                    
var  elem  =  document.form1.btnSubmit;
                    
if (elem)
                    {
                        elem.onclick 
=  submitClientHandler;
                    }
                }
            
</ script >
        
</ HEAD >
        
< body  onload ="initHandler()" >
            
< form  id ="form1"  method ="post"  runat ="server" >
                Enter your name:
                
< asp:TextBox  ID ="txtName"  Width ="200px"  Runat ="server" ></ asp:TextBox >
                
< br >
                
< asp:Button  ID ="btnSubmit"  Text ="Submit"  Runat ="server"  OnClick ="SubmitServerHandler" ></ asp:Button >
            
</ form >
        
</ body >
    
</ HTML >

     后台代码(仅事件处理函数):
     
     protected   void  SubmitServerHandler( object  sender, System.EventArgs e)
     {
        Response.Write(
" hello! "   +  txtName.Text  +   " <br> " );
     }

     分析:
     这里客户端和服务器端的事件处理函数分别是submitClientHandler()和 SubmitServerHandler()。submitClientHandler() 在页面加载完成时(onload事件中)注册,这时才能获得对服务器控件的引用。 SubmitServerHandler()在Button控件的OnClick属性中注册,这里注意该方法须声明为protected 以上 级别,这样才能在页面中访问。完成这两步注册后,页面会先后执行客户端和服务器端时间处理函数。

     那么,怎么才能控制对服务器端代码的调用?看
submitClientHandler()函数,如果返回false,那么就不执行 SubmitServerHandler(),如果返回true,就会继续调用 SubmitServerHandler()。

本文转自一个程序员的自省博客园博客,原文链接:http://www.cnblogs.com/anderslly/archive/2006/09/30/doublesidesevent.html,如需转载请自行联系原作者。

目录
相关文章
|
17天前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
91 5
|
6月前
|
人工智能 搜索推荐 程序员
用 Go 语言轻松构建 MCP 客户端与服务器
本文介绍了如何使用 mcp-go 构建一个完整的 MCP 应用,包括服务端和客户端两部分。 - 服务端支持注册工具(Tool)、资源(Resource)和提示词(Prompt),并可通过 stdio 或 sse 模式对外提供服务; - 客户端通过 stdio 连接服务器,支持初始化、列出服务内容、调用远程工具等操作。
1568 4
|
7月前
|
网络协议 开发者 Python
Socket如何实现客户端和服务器间的通信
通过上述示例,展示了如何使用Python的Socket模块实现基本的客户端和服务器间的通信。Socket提供了一种简单且强大的方式来建立和管理网络连接,适用于各种网络编程应用。理解和掌握Socket编程,可以帮助开发者构建高效、稳定的网络应用程序。
344 10
|
9月前
|
存储 开发工具 git
[Git] 深入理解 Git 的客户端与服务器角色
Git 的核心设计理念是分布式,每个仓库既可以是客户端也可以是服务器。通过 GitHub 远程仓库和本地仓库的协作,Git 实现了高效的版本管理和代码协作。GitHub 作为远程裸仓库,存储项目的完整版本历史并支持多客户端协作;本地仓库则通过 `.git` 文件夹独立管理版本历史,可在离线状态下进行提交、回滚等操作,并通过 `git pull` 和 `git push` 与远程仓库同步。这种分布式特性使得 Git 在代码协作中具备强大的灵活性和可靠性。
226 18
[Git] 深入理解 Git 的客户端与服务器角色
|
8月前
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
429 7
|
3天前
|
弹性计算 运维 安全
区别及选择指南:阿里云轻量应用服务器与ECS云服务器有什么区别?
阿里云轻量应用服务器适合个人开发者、学生搭建博客、测试环境,易用且性价比高;ECS功能更强大,适合企业级应用如大数据、高流量网站。根据需求选择:轻量入门首选,ECS专业之选。
|
3天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
|
11天前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
169 1
|
6天前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
115 0
|
6天前
|
存储 弹性计算 安全
阿里云渠道商:新手如何选择阿里云ECS实例?
阿里云ECS凭借弹性扩展、稳定可靠与安全防护,助力企业高效上云。本文系统解析实例规格选择关键因素:业务场景匹配、性能评估、成本优化、地域部署与扩展规划,结合计费模式与实际需求,提供科学选型建议,助您精准匹配资源,提升云上效能。(238字)

热门文章

最新文章