ASP.NET客户端回调

  1. HTML:
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head runat="server">
  4. <title>客户端回调--ASP.NET性能优化1</title>
  5. </head>
  6. <script language="javascript">
  7. function CallServer(inputcontrol,context)
  8. {
  9.  //回调还没有处理完全时其预先加载的显示值
  10.  context.innerHTML = "加载中......";
  11.  //为你在文本框中输入的信息,并且arg在这里就是将其值传递到
  12.  //RaiseCallbackEvent(String eventArgument)方法对应的eventArgument中
  13.  arg = inputcontrol.value;
  14.  //获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。
  15.  <%= ClientScript.GetCallbackEventReference(this"arg""ReceiveServerData""context")%>; 
  16. }
  17. function ReceiveServerData(Result,context)
  18. {
  19.    context.innerHTML=Result;
  20. }
  21. </script>
  22. <body>
  23. <form id="form1" runat="server">
  24. <div>
  25. 请输入信息:<asp:TextBox ID="txtEnter" runat="server"></asp:TextBox>
  26. <input id="btnSubmit" type="button" value="提交" onclick="CallServer(txtEnter,lblShow)"/>
  27. <br />
  28. <asp:Label ID="lblShow" runat="server"></asp:Label>
  29. </div>
  30. </form>
  31. </body>
  32. </html>
  33. cs code:
  34. public partial class _Default : System.Web.UI.Page ,ICallbackEventHandler
  35. {
  36.     //定义一个字符串,回调的结果信息将保存在该字符串中
  37.     private string result;
  38.     //引发回调事件处理
  39.     public void RaiseCallbackEvent(string eventArgument)
  40.     {
  41.         //"eventArgument"为从客户端的JavaScript传递过来的参数
  42.         result = "从服务器端返回的内容:" + eventArgument;
  43.     }
  44.     //回传回调结果
  45.     public string GetCallbackResult()
  46.     {
  47.         return result;
  48.     }
  49. }

说明:
定义了2个客户端脚本函数。CallServer()函数实现的就是发送回调的功能,注意发送回调的函数实际是在服务器端实现的,这是因为真正实现发送回调的是"ClientScript.GetCallbackEventReference()"方法,而"CallServer()"函数只是对"ClientScript.GetCallbackEventReference()"方法的引用,并提供一些必要的参数。


参数:

参数 作用
control 处理客户端回调的服务器 Control。该控件必须实现 ICallbackEventHandler 接口并提供 RaiseCallbackEvent 方法。 
argument  从客户端脚本传递一个参数到服务器端的RaiseCallbackEvent 方法。 
clientCallback  一个客户端事件处理程序的名称,该处理程序接收服务器端事件返回的结果。
context 启动回调之前在客户端的客户端脚本信息。脚本的结果传回给客户端事件处理程序。 
返回值 调用客户端回调的客户端函数的名称。

ClientScriptManager.GetCallbackEventReference 方法
获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。

重载列表
名称  说明 
ClientScriptManager.GetCallbackEventReference (Control, String, String, String)  获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。此重载方法的客户端函数包含指定的控件、参数、客户端脚本和上下文。 
ClientScriptManager.GetCallbackEventReference (Control, String, String, String, Boolean)  获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。此重载方法的客户端函数包含指定的控件、参数、客户端脚本、上下文和布尔值。 
ClientScriptManager.GetCallbackEventReference (Control, String, String, String, String, Boolean)  获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。此重载方法的客户端函数包含指定的控件、参数、客户端脚本、上下文、错误处理程序和布尔值。 
ClientScriptManager.GetCallbackEventReference (String, String, String, String, String, Boolean)  获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。此重载方法的客户端函数包含指定的目标、参数、客户端脚本、上下文、错误处理程序和布尔值。 

 

你可能感兴趣的:(JavaScript,String,server,服务器,脚本,asp.net)