`
water84222
  • 浏览: 375205 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

六步使用ICallbackEventHandler实现无刷新回调

阅读更多

 

    AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。
    关于ICallbackEventHandler网上已经有很多文章介绍了,这篇实为画蛇添足。

ICallbackEventHandler存在于System.Web.UI中,我们先做一个非常简单的例子来试用一下。

   第一步,在VS2005中建立一个新的WEB窗件。
   第二步,在ASPX中,放上一段HTML代码(如下):

1<body>
2    <form id="form1" runat="server">
3    <div>
4        <button onclick="CallServer()">CallServer</button>
5    </div>
6    </form>
7</body>


   第三步,然后在<HEAD></HEAD>中放入一段JavaScript脚本:

 1 <script type="text/javascript">
 2     function CallServer()
 3     {
 4         var product = "测试";
 5         <%= ClientScript.GetCallbackEventReference(this"product""ReceiveServerData",null)%>;
 6     }

 7     
 8     function ReceiveServerData(rValue)
 9     {
10         alert(rValue);
11     }

12 </script>

 

   第四步,在此ASPX的后台CS代码中,继承ICallbackEventHandler接口,并实现接口中的两个方法:
 ICallbackEventHandler.GetCallbackResult()
    和
 ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)

   第五步,增加一个变量CallBackValue,并修改接口的两个方法为:

 1 private string CallBackValue = string.Empty;
 2    
 3 string ICallbackEventHandler.GetCallbackResult()
 4 {
 5  return CallBackValue + ",ok";
 6 }

 7
 8 void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
 9 {
10  this.CallBackValue = eventArgument;
11 }

12

 

    第六步,运行,界面上会出现一个按钮,点击后,会将“测试”这个字符串传至后台,后台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)。

    整个调用过程非常简单,而其中非常关键的一步是第三步的
<%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
 

分享到:
评论
1 楼 molo.he 2008-10-28  
如果能详细讲讲所有的参数就更好了..

相关推荐

    ICallbackEventHandler接口无刷新源码20130120

    ICallbackEventHandler接口无刷新源码 功能介绍: 在 ASP.NET 网页的默认模型中,用户会与页交互,单击按钮或执行导致回发的一些其他... 可以使用ICallbackEventHandler接口,使其能执行客户端回调。在客户端回调中。

    客户端无刷新回调,ICallBackEverHandler实现客户端回调

    具体到这个例子,"ServerTime.aspx"和"ServerTime.aspx.cs"很可能是实现无刷新回调功能的Web页面和对应的代码后文件。"ServerTime.aspx"可能包含HTML和JavaScript代码,用于初始化回调、处理用户交互以及显示回调...

    ASP.NET基于ICallbackEventHandler的轻量级异步回调

    ASP.NET中的ICallbackEventHandler接口是实现轻量级异步回调的一种方法,主要用于提高Web应用程序的性能和用户体验。这种技术允许页面部分更新,而无需整个页面重新加载,类似于AJAX的效果,但比AJAX更为简单,因为...

    在 ASP.NET 网页中实现回调

    在 ASP.NET 中,客户端回调...为了支持回调,页面或用户控件需要实现 ICallbackEventHandler 接口。对于单文件页或用户控件,可以在页面指令中声明 `@Implements` 指令,如以下示例所示: - Visual Basic: ```vbnet ...

    ICallBackEventHandler(ajax应用)

    ICallBackEventHandler 是一个在ASP.NET中用于处理服务器端异步回调事件的接口。这个接口在AJAX(Asynchronous JavaScript and XML)应用中扮演着重要角色,它允许Web应用程序实现部分页面更新,从而提高用户体验,...

    ICallbackEventHandler接口实现多级联动

    在.NET框架中,`ICallbackEventHandler`接口是一个用于实现页面间无刷新通信的重要工具,尤其在构建复杂的Web应用程序时,如多级联动下拉菜单。这种功能可以提高用户体验,因为用户无需等待整个页面重新加载就能看到...

    Repeater无刷新分页示例

    "Repeater无刷新分页示例"是一个实现此目标的技术方案,它利用了ICallbackEventHandler接口和GetCallbackEventReference方法来创建一个无需页面完全刷新即可切换分页的Repeater控件。这种技术大大提升了用户体验,...

    asp.net 2.0使用ajax实现客户端回调功能详解

    在探讨ASP.NET 2.0如何使用Ajax实现客户端回调功能之前,我们首先简要回顾一下ASP.NET 2.0和Ajax的基本概念。 ### ASP.NET 2.0简介 ASP.NET 2.0是Microsoft推出的一个用于开发Web应用程序的框架,它是.NET ...

    .net中的回调实例

    在ASP.NET Web Forms中,客户端回调(Client Callbacks)是实现页面与服务器之间异步通信的一种方式,无需完整刷新整个页面。这种技术提高了用户体验,因为只有部分页面内容会更新,而不是整个页面。 在提供的示例...

    ASP.NET 2.0 正式版中无刷新页面的开发.

    **实现无刷新页面的步骤** 1. **实现ICallbackEventHandler接口** 首先,你需要在你的页面类中实现这个接口。例如,在默认的Default.aspx.cs文件中,可以声明一个类,继承自Page,并实现ICallbackEventHandler接口...

    C#回调简介

    接下来,在C#代码中,我们需要实现`ICallbackEventHandler`接口来处理客户端的回调请求: ```csharp public partial class YourPage : System.Web.UI.Page, ICallbackEventHandler { public string myStr = string...

    如何:实现ICallBackEventHandler(从客户端调用服务器端代码)

    总结,实现ICallBackEventHandler接口使得ASP.NET页面能够实现异步回调,提高应用程序的响应性和效率。通过结合JavaScript和C#,你可以轻松地从客户端调用服务器端代码,而无需整个页面回发。这在处理大量数据、实时...

    局部刷新源码(C#)

    这个接口定义了两个方法:`GetCallbackEventResult`和`RaiseCallbackEvent`,它们分别用于处理服务器端的回调事件和生成返回给客户端的结果。为了实现在服务器端处理局部刷新,你需要创建一个实现了`...

    ASP.NET中如何实现回调

    ASP.NET回调技术是一种在Web应用程序中实现页面无刷新更新的方式,它可以提高用户体验,因为只更新必要的数据,而不是整个页面。回调本质上是基于Ajax调用,但ASP.NET提供了一种简化的方式来处理这些调用,通过内置...

    Asp.net回调技术Callback学习笔记

    使用回调,可以在不刷新整个页面的情况下,向服务器提交数据并接收处理结果。这一特性对于提升用户体验、减少服务器负载等方面非常有帮助。以下是一些详细知识点。 1. 回调(Callback)概念: 回调技术允许页面中的...

    Ajax实现手机号码查询

    这个接口主要用于处理页面的无刷新回调,是ASP.NET提供的一种实现Ajax功能的方式。在ASP.NET中,当一个控件触发事件时,如果该事件需要与服务器进行交互但无需整个页面回发,我们可以使用此接口。它包含两个方法:`...

    利用Asp.Net回调机制实现进度条

    总结来说,Asp.Net回调机制通过异步通信实现了不刷新页面的实时数据交互,非常适合构建进度条或实时反馈的场景。在本例中,通过结合HTML、JavaScript、CSS和服务器端代码,我们成功地创建了一个简单的进度条,展示了...

    datawindwo.net 程序

    通过实现ICallbackEventHandler接口,自定义控件可以具备脚本回调能力,利用后台往返(round-trips)获取服务器数据并更新用户界面。脚本回调的关键在于,它利用了“Microsoft.XMLHTTP”ActiveX对象(非IE浏览器使用...

    编写轻量ajax组件01-与webform平台上的各种实现方式比较

    而ICallbackEventHandler接口是.NET框架提供的用于处理异步回调请求的接口。通过这个接口,开发者可以编写自己的回调逻辑,从而实现Ajax功能。使用这种方式时,开发者需要自己处理前端和后端的交互逻辑,包括生成和...

Global site tag (gtag.js) - Google Analytics