页面代码:
<script type="text/javascript">
function ReceiveServerData(rValue)
{
alert(rValue);
}
</script>
<input id="Button1" type="button" value="button" onclick ="CallServer('Client')" />
服务端代码:
publicpartialclassback2:System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
{
publicstringCallBackValue=null;
protectedvoidPage_Load(objectsender,EventArgse)
{
}
//注册脚本到前台页面
protectedvoidPage_PreRender(objectsender,EventArgse)
{
RegClientScript();
}
//javascript函数(服务器端事件的客户端回调)
protectedvoidRegClientScript()
{
ClientScriptManagercs=Page.ClientScript;
stringjstxt=@"
functionCallServer(msgid)
{
"+cs.GetCallbackEventReference(this,"msgid","ReceiveServerData",null)+@";
}";
cs.RegisterStartupScript(this.GetType(),"callserver",jstxt,true);
}
//ICallbackEventHandler接口
//把值传到前台
stringICallbackEventHandler.GetCallbackResult()
{
returnCallBackValue+",Server";
}
//按受前台的参数
voidICallbackEventHandler.RaiseCallbackEvent(stringeventArgument)
{
this.CallBackValue=eventArgument;
}
}
运行结果: (实现异步交互,页面不刷新)