ASP.NET回调简单示例
转自网络某高人,找不到原网址了。摘录一下
前端代码:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SimpleDemo.aspx.cs" Inherits="SimpleDemo" %> 2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <title></title> 8 <script type="text/javascript" language="javascript"> 9 function callServer() { 10 var sendServerArg = document.getElementById("txtInput").value; 11 <%=ClientScript.GetCallbackEventReference(this,"sendServerArg","receiveServerResult",null,true) %>; //该方法实现前台和后天的tong通信 12 } 13 14 function receiveServerResult(result){ 15 //回调函数处理 16 if(result=="0") 17 { 18 alert("传入到服务器的参数是偶数"); 19 } 20 else 21 { 22 alert("传入到服务器的参数是奇数"); 23 } 24 } 25 </script> 26 </head> 27 <body> 28 <form id="form1" runat="server"> 29 <div> 30 <asp:TextBox ID="txtInput" runat="Server"></asp:TextBox> 31 <asp:Button ID="btnCallback" runat="Server" Text="调用回调函数" 32 OnClientClick="callServer();"/> 33 </div> 34 </form> 35 </body> 36 </html>
后台代码:
1 using System.Data; 2 using System.Configuration; 3 using System.Web; 4 using System.Web.Security; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Web.UI.WebControls.WebParts; 8 using System.Web.UI.HtmlControls; 9 using System.Collections.Generic; 10 using System.Collections; 11 using System; 12 13 public partial class SimpleDemo : System.Web.UI.Page,ICallbackEventHandler 14 { 15 public string clientParam; 16 17 protected void Page_Load(object sender, EventArgs e) 18 { 19 20 } 21 22 /// <summary> 23 /// 经过后台处理返回给客户端的值 24 /// </summary> 25 /// <returns></returns> 26 public string GetCallbackResult() 27 { 28 string strT=""; 29 try 30 { 31 int i = Int32.Parse(clientParam); 32 if (i % 2 == 0) 33 strT = "0"; 34 else 35 strT = "1"; 36 } 37 catch (System.Exception ex) 38 { 39 throw new Exception(ex.Message); 40 } 41 return strT; 42 } 43 44 /// <summary> 45 /// 获取客户端发送至后台服务器的参数 46 /// </summary> 47 /// <param name="eventArgument">前台发送至后台服务器的参数</param> 48 public void RaiseCallbackEvent(string eventArgument) 49 { 50 clientParam = eventArgument; 51 } 52 }
注:
1. <%=ClientScript.GetCallbackEventReference(this,"sendServerArg","receiveServerResult",null,true) %>; fa该方法主要用来在服务器端与客户端之间进行信息交互。要激发
一个Callback,首先需要在客户端发出一个调用。
thi:表示执行回调的服务器端控件是这个Page;该参数也可以为某个Web控件引用。
"sendServerResult":传递给服务器eventArgument参数的值。该参数的使用方法为在前台代码中获取需要回调的值,用某一变量名表示。然后在该函数中使用该变量名的字符串即可。
"receiveServerResult":当回调成功后,处理返回内容的客户端脚本函数名称。该函数必须存在执行回调的页面。
2.服务器端需要实现ICallbackEventHandler接口。

浙公网安备 33010602011771号