页面代码:
<script type="text/javascript"> function ReceiveServerData(rValue) { alert(rValue); } </script> <input id="Button1" type="button" value="button" onclick ="CallServer('Client')" /> 服务端代码: public partial class back2 : System.Web.UI.Page,System .Web .UI .ICallbackEventHandler { public string CallBackValue = null; protected void Page_Load(object sender, EventArgs e) { } // 注册脚本到前台页面 protected void Page_PreRender(object sender, EventArgs e) { RegClientScript(); } // javascript函数(服务器端事件的客户端回调) protected void RegClientScript() { ClientScriptManager cs = Page.ClientScript; string jstxt=@" function CallServer(msgid) { " + cs.GetCallbackEventReference(this, "msgid", "ReceiveServerData", null) + @"; }"; cs.RegisterStartupScript(this.GetType(), "callserver", jstxt, true); } //ICallbackEventHandler接口 //把值传到前台 string ICallbackEventHandler.GetCallbackResult() { return CallBackValue + ",Server"; } //按受前台的参数 void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument) { this.CallBackValue = eventArgument; }}
运行结果: (实现异步交互,页面不刷新)