ICallbackEventHandler - 客戶端回調 - 無刷新(對她的理解就是:觸發庫函數-回調-回傳-接收)...
在ASP.NET 2.0中,引入了一個稱為"客戶端回調"的功能,利用這個內建的解決方案我們可以輕松實現客戶端腳本和服務器端代碼間的交互,從而避免了頁面因回發帶來的頻繁刷新。客戶端回調本質上就是指通過前端的客戶端腳本向服務器端傳遞相應的數據參數,服務器端再以接受到的參數進行查詢和處理,最后將結果回傳到客戶端進行顯示。在網上已經有蠻多實現無刷新回調的文章,之前在ASP.NET1.0 用AJAX技術實現過,現在ASP.NET2.0使用ICallbackEventHandler來實現。具體如下:
?????? 前臺頁面:?
<body>
????<form?id="form1"?runat="server">
????<div>
???????? <input?id="txtMessage"?style="width:?353px"?type="text"?/>
????????<input?id="Button1"?type="button"?value="Call?to?Server"?onclick="CallServer();"?/>
????????<br?/>
???????? result:<input?id="txtResult"?style="width:?442px"?type="text"?/></div>
????</form>
</body>
??????? 前臺腳本:
<script?type="text/javascript">
??????function?CallServer()
??????{
??????????var?product?=?document.getElementById("txtMessage").value;//前臺數據傳到后臺處理
??????????
??????????//返回后臺處理后的數據到前臺,用前臺函數ReceiveServerData來接收
??????????<%=?ClientScript.GetCallbackEventReference(this,?"product",?"ReceiveServerData",null)%>;
??????}
??????
??????function?ReceiveServerData(rValue)
??????{
?????????//alert(rValue);
?????????document.getElementById("txtResult").value?=?rValue;
?????}
?????</script>
后臺代碼:
public?partial?class?testNoRefresh?:?System.Web.UI.Page,?System.Web.UI.ICallbackEventHandler
{
????protected?void?Page_Load(object?sender,?EventArgs?e)
????{
????}
????//定義一個字符串,回調的結果信息將保存在該字符串中
????private?string?CallBackValue?=?string.Empty;
???
????//引發回調事件處理
????void?ICallbackEventHandler.RaiseCallbackEvent(string?eventArgument)
????{
????????this.CallBackValue?=?"客戶端在["?+?DateTime.Now.ToString()?+?"]傳送來?["?+?eventArgument?+?"]!";
????}
????//回傳回調結果
????string?ICallbackEventHandler.GetCallbackResult()
????{
????????return?CallBackValue;
????}
轉載于:https://www.cnblogs.com/lilian_lee/archive/2009/02/25/1397671.html
總結
以上是生活随笔為你收集整理的ICallbackEventHandler - 客戶端回調 - 無刷新(對她的理解就是:觸發庫函數-回調-回傳-接收)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 架构师之路(2)---详解面向过程 王泽
- 下一篇: [导入]Vista的translator