您的位置:首页 > 编程语言 > ASP

Asp.Net2.0无刷新客户端回调

2008-03-07 15:00 399 查看
实现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:获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。此重载方法的客户端函数包含指定的控件、参数、客户端脚本和上下文。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: