示例来自:ASP.NET 2.0编程珠玑
服务器端:
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;
//继承ICallbackEventHandler,确保使用客户回调特性时,回调事件在会送过程中处理
public partial class Chapter4_Demo4 : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
{
protected void Page_Load(object sender, EventArgs e)
{
//检查用户的浏览器是否支持回调特性
if (!Request.Browser.SupportsCallback)
{
throw new ApplicationException("This browser doesn't support Client callbacks.");
}
//获取回调事件的引用
string src = Page.ClientScript.GetCallbackEventReference(this, "arg", "ClientCallback", "ctx", "ClientErrorCallback", false);
string mainSrc = @"function ValidateNumber(arg,ctx)
{ " + src + ";}";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ValidateNumber", mainSrc, true);
}
private string _returnFormServer;
//eventArgs表示客户端方法中的数据
public void RaiseCallbackEvent(string eventArgs)
{
try
{
int value = Int32.Parse(eventArgs);
if (value >= 1 && value <= 1000)
{
this._returnFormServer = "You entered the number: " + eventArgs;
}
else
{
this._returnFormServer = "Please enter a number between 1 and 1000";
}
}
catch
{
throw new ApplicationException("You must enter a number.");
}
}
//给客户端返回一个字符串,返回值作为一个参数传送给客户端的回调方法
public string GetCallbackResult()
{
return this._returnFormServer;
}
}
客户端:
<html>
<head runat="server">
<title>Untitled Page</title>
<script language=javascript>
function Validate()
{
var n = document.forms[0].txtNumber.value;
ValidateNumber(n,"txtNumber");
}
function ClientCallback(result,context)
{
alert(result);
alert(context);
}
function ClientErrorCallback(error,context)
{
alert("The validation failed. " + error);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
Please enter a number between 1 and 1000:<br />
<input id="txtNumber" name="txtNumber" type=text />
<button id="btnValidate" onclick="Validate()">Validate</button>
</div>
</form>
</body>
</html>
出处:http://www.cnblogs.com/icebutterfly/
版权:本文版权归作者和博客园共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任