




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、GetCallbackEventReference 的用法 挨踢人生GetCallbackEventReference 的用法作者:0湛狼O日期:2011年4月10日發表評論(0) 查看評論 作用:獲取一個對客戶端函數的引用;調用該函 數時,將啟動一個對服務器端事件的客戶端回調。此重載方 法的客戶端函數包含指定的控件、參數、客戶端腳本和上下 文。函數原型:public string GetCallbackEventReference (Control control,string argument,string clientCallback,string context)第一個參數指定了服務器
2、端將要處理回調的目標對象,即處 理客戶端回調的服務器端控件。該控件必須實現 ICallbackEventHandler 接口并提供 RaiseCallbackEvent 方法。如果傳入的是this,則表示頁面本身。也可以傳入任何實現 了 ICallbackEventHandler 的頁面控件(page control)的引用。 在任何情況下,客戶端的提交動作(submit action )會提交至 和標準回傳(postback)機制相同的ASPX頁面。第二個參數是一個JavaScript常量表達式,表示頁面傳給服 務器的輸入數據。如將一個下拉列表當前選中元素的值傳 入”document.get
3、ElementByldcboEmployees.value”: 第三個參數是一個用戶定義在塊中的 JavaScript 回調(callback)函數名。回調(callback)執行后, 此函數最終負責頁面的更新,即最后服務器端得結果會返回 給此參數指定的函數,設計人員在此參數指定的函數中編寫 代碼實現頁面的無閃爍更新。最后兩個可選參數可用來指定錯誤處理函數(error handler) 和上下文對象(context object) 其中上下文對象的作用是啟動回調之前在客戶端計算的客 戶端腳本。 腳本的結果傳回客戶端事件處理程序。即第三 個參數clientCallback指定的腳本可在此定義,而
4、不必在設 計頁面定義。more例:StringBuilder context1 = new StringBuilder(); context1.Append(“function R eceiveServerData1(arg, context)”);context1.Append(“); context1.Append(“Message1.innerText = arg;”);context1.Append(“value1 = arg;”); context1.Append(“”);String cbReference1 = cs.GetCallbackEventReference(this,
5、 “arg”,“ReceiveServerDatal, context1.ToString();GetCallbackEventReference 函數將產生如下的腳本調用: WebForm_DoCallback(pageID, input,UpdateEmployeeViewHandler, null, null);此函數的代碼會自動下載到客戶端并通過標簽 添加到頁面響應(pages response)中。WebForm_DoCallback 使用 XmlHttpRequest DOM 對象 (XmlHttpRequest DOM object)回調(call back)當前頁面的 URL。
6、與此同時,它會添加一些額外的隱藏域(hidden field)以便服 務器區分更簡單的輕量級回調(callback)請求和一般回傳 (postback)請求。處理請求時,ASP.NET運行時(runtime)標識岀調用的目標 對象(傳給GetCallbackEventReference的第一個參數),確 認它實現了 ICallbackEventHandler接口后調用 RaiseCallbackEvent 方法:void RaiseCallbackEvent (string eventArgument)eventArgument 一般即是通過 GetCallbackEventReference
7、 指定的頁面傳遞到服務器端的輸入數據,即參數 2 RaiseCallbackEvent 處理完畢,即通過調用 public string GetCallbackResult() 將處理結果返回給調用控件,交由客戶端執行 GetCallbackEventReference 指定的客戶端腳本 clientcallback,由其完成客戶端刷新。上面說過腳本回調(script callback)并不適用于所有瀏覽器, 盡管最新的瀏覽器,包括 Internet Explorer 5+, Netscape 6+, and Safari1.2+都能行。Microsoft 在 ASP.NET2.0 中加入了兩
8、個新的 browser bapabilities :SupportsXmlHttp 與 SupportsCallback 以便開 發人員檢查方案的可行性。一條讓頁面刷新更快的告誡盡管腳本回調(script callback)定義在ASP.NET 2.0中,要 使其在ASP.NET 1.1里工作也并不很困難。在ASP.NET 2.0 中,很多服務器控件(server contro I)借助腳本回調(script callback)提供了更迅速的頁面刷新。最突岀的例子也許是GridView控件(GridView control),作 為DataGrid的接班人,選擇性地運用腳本回調(script
9、callback)實現分頁顯示記錄。正如前面所說,腳本回調(script callback)依賴于文檔對象模 型(DOM)的 XmlHttpRequest 對象。在 Internet Explorer 中, 此文檔對象模型對象(DOM object)通過ActiveX控件 (ActiveX control)實現Microsoft.XmlHttp。在 IE 中瀏覽這樣的頁面時,你必須適當降低安全設置以允許ActiveX控件(ActiveX control)能被腳本調用。在其他以同樣 方式實現XmlHttpRequest文檔對象模型對象(DOM object) 的瀏覽器中,這是不必要的。事實上 基
10、于Mozilla的瀏覽內置支持了 HTTP請求功能器, 而沒用使用ActiveX控件(ActiveX control)這也是在Internet Explorer 7.0 中被寄予厚望的功能。下面簡單例子可作參考(例子來源于 高級編程第 7 版):服務器端 private string result; protected void Page_Load(object sender, EventArgs e)string script =Page.ClientScript.GetCallbackEventReference(this, arg, getRandom, content1);string
11、 script1 = function UseCallBack(arg, content1) + + script + ; + ;raise.Text = script1;Page.ClientScript.RegisterClientScriptBlock(this.GetType(),UseCallBack, script1, true); public void RaiseCallbackEvent(stringEventArgs)result = EventArgs;public string GetCallbackResult()return result+test;客戶端1234561011/ 這個代碼的工作流程是怎么樣得呢?首先,點擊按鈕Buttonl后,觸發test()函數,函數內調用UseCallBack 函數,可以在此傳入參數,傳入的參數將會傳給 服務器端的RaiseCallbackEvent函數進行解析,當然,也可以 中途截斷這個參數的傳
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畜牧飼料企業服務體系建設與優化考核試卷
- 磷肥產品標準與檢測方法考考核試卷
- 紡織原料的綠色采購與可持續利用考核試卷
- 干部休養所服務質量管理考核試卷
- 天津現代職業技術學院《鋼琴基礎(1)》2023-2024學年第一學期期末試卷
- 上海農林職業技術學院《粵劇藝術賞析》2023-2024學年第二學期期末試卷
- 酒泉職業技術學院《馬克思主義與社會方法論》2023-2024學年第二學期期末試卷
- 南充科技職業學院《西班牙語精讀五》2023-2024學年第一學期期末試卷
- 山西老區職業技術學院《生物醫學傳感檢測系統設計》2023-2024學年第二學期期末試卷
- 新野縣2025年數學三下期末質量檢測試題含解析
- DB36T+757-2024香料用樟樹培育技術規程
- 酒店服務員合作協議書范文模板
- 血液透析室工作手冊目錄
- ISO14644國際標準(中文版)
- 借名存款合同模板
- TSXCAS 015-2023 全固廢低碳膠凝材料應用技術標準
- 古詩詞誦讀《臨安春雨初霽》課件 統編版高中語文選擇性必修下冊
- 軍事理論(2024年版)學習通超星期末考試答案章節答案2024年
- 六年級(小升初)課外文言文訓練(含答案)
- YS-T 5226-2016水質分析規程
- 2024-2030年中國4S店行業市場發展分析及前景趨勢與投資風險研究報告
評論
0/150
提交評論