asp.net 2.0中的无刷新回调技术(非AJAX技术)
来源:互联网 发布:侯云灏网络空间研究院 编辑:程序博客网 时间:2024/05/21 20:37
AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。
关于ICallbackEventHandler网上已经有很多文章介绍了,这篇实为画蛇添足。ICallbackEventHandler存在于System.Web.UI中,我们先做一个非常简单的例子来试用一下。
第一步,在VS2005中建立一个新的WEB窗件。
第二步,在ASPX中,放上一段HTML代码(如下):
第三步,然后在<HEAD></HEAD>中放入一段JavaScript脚本:
第四步,在此ASPX的后台CS代码中,继承ICallbackEventHandler接口,并实现接口中的两个方法:
ICallbackEventHandler.GetCallbackResult() 和 ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
第五步,增加一个变量CallBackValue,并修改接口的两个方法为:
第六步,运行,界面上会出现一个按钮,点击后,会将“测试”这个字符串传至后台,后台C#代码将字符串加上“,OK”后返回给客户端的JavaScript代码,并显示。
以上六步,就可以实现无刷新回调了。现在,我们来分析一下几段代码。
先看第三步中的JavaScript代码,其中的CallServer()方法中进行了回调,回调的语句为:
<%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
里面四个参数中第二个参数指定将product这个JavaScript中的字符串变量传回后台,第三个参数指定了从后台返回时接收返回信息的JavaScript方法ReceiveServerData(string Value)。
第五步中后台的两个方法,一个ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)用来接收前台JavaScript中传来的字符串变量,并赋值给内部变量this.CallBackValue,另一个方法ICallbackEventHandler.GetCallbackResult()将变更后的内部变量this.CallBackValue返回给前台JavaScript方法ReceiveServerData(string Value)。
调用的顺序是: (前台)CallServer() --> (后台)ICallbackEventHandler.RaiseCallbackEvent(string eventArgument) --> (后台)ICallbackEventHandler.GetCallbackResult() --> (前台)ReceiveServerData(string Value)。
整个调用过程非常简单,而其中非常关键的一步是第三步的.
通过一个string 来传递前台的输入肯定是不够的,将一个表单转成一个string 增加了代码工作量!
- asp.net 2.0中的无刷新回调技术(非AJAX技术)
- .net Ajax无刷新技术
- .net Ajax无刷新技术
- .net Ajax无刷新技术
- .net Ajax无刷新技术
- Asp.net用ajax技术实现无刷新分页
- asp.net实现无刷新ajax技术登录界面
- asp.net回调技术实现无刷新
- 初次体验.net Ajax无刷新技术
- 初次体验.net Ajax无刷新技术
- 初次体验.NET Ajax无刷新技术
- 初次体验.NET Ajax无刷新技术
- 初次体验.net Ajax无刷新技术
- 初次体验.net Ajax无刷新技术
- c#.net Ajax无刷新技术
- 初次体验.net Ajax无刷新技术
- C# .NET AJAX无刷新技术
- 初次体验.net Ajax无刷新技术
- 深圳金鼎福软件-读懂开盘三线 把握操作良机
- jndi.properties文件配置
- #ifdef __cplusplus 倒底是什么意思?
- Qt集成到VS2008中 ( Qt4.5.1 + qt-vs-addin-1.0.0 )
- 内核中获取进程路径学习
- asp.net 2.0中的无刷新回调技术(非AJAX技术)
- 经济企稳回暖时期客户关系管理的作用
- (转)判断一个字符串是否全是数字的多种方法及其性能比较(C#实现
- 最使用CSS+DIV学习合集 从零开始
- TTL电平和CMOS电平的异同对比
- SQL Trigger,indexes,Procedure
- shell编程入门指南
- 模拟机器抽奖选数字
- 学习c语言