Asp.Net2.0無刷新客戶端回調

實現Asp.Net2.0的客戶端回調功能
一 環境
Asp.net 2.0
VS 2005
 

二 客戶端
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxnet.aspx.cs" Inherits="ajaxnet" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   
<head> 
      
<title>Server Time</title> 
      
<script type="text/javascript" language="javascript"> 

         function GetServerTime() 
         

            var message 
= ''
            var context 
= ''
            
            
<%=sCallBackFunctionInvocation%> 
           }
 
         
         function ShowServerTime(timeMessage, context) 

            var a 
= document.getElementById("loadinfo");   
            a.innerHTML 
= timeMessage;
           }
 
      
</script> 
   
</head> 
<body> 

   
<form id="MainForm" runat="server"> 
      
<input id="button1" type="button" value="得到服務器端時間" onclick="GetServerTime();" />        
   
</form> 
   
<div id="loadinfo"></div>  
</body> 
</html> 

三 後端代碼:
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 ajaxnet : System.Web.UI.Page,ICallbackEventHandler
{
      
public string sCallBackFunctionInvocation;

      
void Page_Load(object sender, System.EventArgs e)
      
{
        sCallBackFunctionInvocation 
= Page.ClientScript.GetCallbackEventReference(this"message""ShowServerTime""context");
      }


      
public void RaiseCallbackEvent(string eventArgument)
      
{
      
      }


     
public string GetCallbackResult()
     
{
         System.Threading.Thread.Sleep(
2000);
         
return DateTime.Now.ToString();
     }

}

必須繼承ICallbackEventHandler接口,實現GetCallbackResult()
方法來返回值。

GetCallbackEventReference:獲取一個對客戶端函數的引用;調用該函數時,將啓動一個對服務器端事件的客戶端回調。此重載方法的客戶端函數包含指定的控件、參數、客戶端腳本和上下文。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章