• λ我爱Aspx >> Asp.Net >> ASP.NET 2.0客户端回调的实现分析
  • ASP.NET 2.0客户端回调的实现分析

  • :未知  Դ:非寒日志  :2007-4-21 0:50:54  ؼ:.net,asp.net,asp
  • 本例中的RaiseCallbackEvent()中的参数为我们在文本框的输入信息。为了表明它是从服务器返回的,我们加了一些说明性的文字。然后用GetCallbackResult()方法中将结果传回到客户端。完整的页面逻辑代码如下:

    using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class CallBackExample : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler{ //定义一个字符串,回调的结果信息将保存在该字符串中 private string result; //引发回调事件处理 public void RaiseCallbackEvent(string eventArgument) { //"eventArgument"为从客户端的JavaScript传递过来的参数 result = "从服务器端返回的内容:" + eventArgument; } //回传回调结果 public string GetCallbackResult() { return result; }}
    编写客户端脚本 客户端脚本主要是用来在服务器端和客户端之间进行信息的交互,就拿本例来说,我们在前面的页面逻辑代码中使用了一个名为eventArgument参数,这是怎么实现参数的传递的呢?我们将在后面的章节进行讨论,现在在页面中添加如下的JavaScript函数代码
    function CallServer(inputcontrol,context){ //回调还没有处理完全时其预先加载的显示值 context.innerHTML = "加载中......"; //为你在文本框中输入的信息,并且arg在这里就是将其值传递到 //RaiseCallbackEvent(String eventArgument)方法对应的eventArgument中 arg = inputcontrol.value; //获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。 <%= ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context")%>; }
    我们在上述的JavaScript函数代码引用了一个ClientScript.GetCallbackEventReference(……)方法,该方法实现的是什么功能呢?下面是摘自MSDN2上的对ClientScript.GetCallbackEventReference(……)的详细说明。public string GetCallbackEventReference (Control control,string argument,string clientCallback,string context) 参数:
    参数 作用
    control 处理客户端回调的服务器 Control。该控件必须实现 ICallbackEventHandler 接口并提供 RaiseCallbackEvent 方法。
    argument 从客户端脚本传递一个参数到服务器端的RaiseCallbackEvent 方法。
    clientCallback 一个客户端事件处理程序的名称,该处理程序接收服务器端事件返回的结果。
    context 启动回调之前在客户端的客户端脚本信息。脚本的结果传回给客户端事件处理程序。
    返回值 调用客户端回调的客户端函数的名称。
    Ҷƪл˵?
  • һƪAtlas学习手记系列文章收集
    һƪ用VS.NET中的测试工具测试ASP.NET程序