日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ICallbackEventHandler 前后台无刷新交互

發布時間:2025/3/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ICallbackEventHandler 前后台无刷新交互 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

第一步,在VS中建立一個新的WEB窗件。
第二步,在ASPX中,放上一段HTML代碼(如下):

<body>
<form id="form1" runat="server">
<div>
<button οnclick="CallServer()">CallServer</button>
</div>
</form>
</body>

<body> <form id="form1" runat="server"> <div> <button οnclick="CallServer()">CallServer</button> </div> </form> </body>


第三步,然后在<HEAD></HEAD>中放入一段JavaScript腳本:

<script type="text/javascript">
function CallServer()
{
var product = "測試";
<%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
}
function ReceiveServerData(rValue)
{
alert(rValue);
}
</script>


第四步,在此ASPX的后臺CS代碼中,繼承ICallbackEventHandler接口,并實現接口中的兩個方法:
ICallbackEventHandler.GetCallbackResult()
???? 和
ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)

第五步,增加一個變量CallBackValue,并修改接口的兩個方法為:

private string CallBackValue = string.Empty;
string ICallbackEventHandler.GetCallbackResult()
{
return CallBackValue + ",ok";
}
void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
{
this.CallBackValue = eventArgument;
}

?第六步,運行,界面上會出現一個按鈕,點擊后,會將“測試”這個字符串傳至后臺,后臺C#代碼將字符串加上“,OK”后返回給客戶端的JavaScript代碼,并顯示。


???? 以上六步,就可以實現無刷新回調了。現在,我們來分析一下幾段代碼。
???? 先看第三步中的JavaScript代碼,其中的CallServer()方法中進行了回調,回調的語句為:

<%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;

?

里面四個參數中第二個參數指定將product這個JavaScript中的字符串變量傳回后臺,第三個參數指定了從后臺返回時接收返回信息的JavaScript方法ReceiveServerData(string Value)。

???? 第五步中后臺的兩個方法,一個ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)用來接收前臺JavaScript中傳來的字符串變量,并賦值給內部變量this.CallBackValue,另一個方法ICallbackEventHandler.GetCallbackResult()將變更后的內部變量this.CallBackValue返回給前臺JavaScript方法ReceiveServerData(string Value)。

???? 調用的順序是: (前臺)CallServer() --> (后臺)ICallbackEventHandler.RaiseCallbackEvent(string eventArgument) --> (后臺)ICallbackEventHandler.GetCallbackResult() --> (前臺)ReceiveServerData(string Value)。

轉載于:https://my.oschina.net/ind/blog/307054

總結

以上是生活随笔為你收集整理的ICallbackEventHandler 前后台无刷新交互的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。