refer to:http://www.cnblogs.com/soso/archive/2006/06/08/420687.html
六步使用ICallbackEventHandler实现无刷新回调
关于ICallbackEventHandler网上已经有很多文章介绍了,这篇实为画蛇添足。
第二步,在ASPX中,放上一段HTML代码(如下):
1<body>
2 <form id="form1" runat="server">
3 <div>
4 <button onclick="CallServer()">CallServer</button>
5 </div>
6 </form>
7</body>
1 <script type="text/javascript">
2 function CallServer()
3 {
4 var product = "测试";
5 <%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
6 }
7
8 function ReceiveServerData(rValue)
9 {
10 alert(rValue);
11 }
12 </script>
ICallbackEventHandler.GetCallbackResult()
和
ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
1 private string CallBackValue = string.Empty;
2
3 string ICallbackEventHandler.GetCallbackResult()
4 {
5 return CallBackValue + ",ok";
6 }
7
8 void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
9 {
10 this.CallBackValue = eventArgument;
11 }
12
先看第三步中的JavaScript代码,其中的CallServer()方法中进行了回调,回调的语句为:
<%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
里面四个参数中第二个参数指定将product这个JavaScript中的字符串变量传回后台,第三个参数指定了从后台返回时接收返回信息的JavaScript方法ReceiveServerData(string Value)。
<%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
aspx:
==============
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<head runat="server">
<title>ICallbackEventHandler demo</title>
<script type="text/javascript">
function CallServer()
{
var product="hello";
<%=ClientScript.GetCallbackEventReference(this,"product","ReceiveServerData",null) %>;
}
function ReceiveServerData(rValue)
{
alert(rValue);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Button1" type="button" value="CallServer" onclick="CallServer()" />
</div>
</form>
</body>
</html>
cs:
============
using System;
using System.Data;
using System.Configuration;
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;
{
private string CallBackValue = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
{
//throw new Exception("The method or operation is not implemented.");
return CallBackValue + ", i am server";
}
{
//throw new Exception("The method or operation is not implemented.");
this.CallBackValue = eventArgument;
}
291



被折叠的 条评论
为什么被折叠?



