1. 程式人生 > >UpdatePanel 控制元件,客戶端事件生命週期踩坑

UpdatePanel 控制元件,客戶端事件生命週期踩坑

 1 <script type="text/javascript" language="javascript">
 2 
 3             Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(function (sender, args)
 4             {
 5                 window.ClearAllInpuTextField();
 6                 if (sender._activeElement.id == "btnPrint")
7 { 8 window.showOnloading("獲取快遞單號,列印處理中......"); 9 } 10 }); 11 12 Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 13 14 function EndRequestHandler(sender, args) 15 {
16 var prm = Sys.WebForms.PageRequestManager.getInstance(); 17 if (sender._request == null) 18 { 19 window.removeload(); 20 } 21 if (args.get_error() != undefined) 22 { 23 var
errorMessage; 24 if (args.get_response().get_statusCode() == '200') 25 { 26 errorMessage = args.get_error().message; 27 } 28 else 29 { 30 // Error occurred somewhere other than the server page. 31 errorMessage = 'An unspecified error occurred. '; 32 } 33 args.set_errorHandled(true); 34 alert(errorMessage); 35 } 36 } 37 </script>

在更新面板中正常的按鈕事件中, 點選開發觸發網路請求.beginRequest被觸發, 當伺服器端返回響應資料時,endRequest被觸發. 這是正常的流程.

還有另一種情況發生, 在EndRequest函式中指令碼觸發了另一次網路請求,這時 beginRequest 被觸發, 網路請求開始的同時,endRequest隨後也會被觸發,但是網路是Pending狀態.

也就是說sender._request 請求物件不為空,在請求中,之後伺服器返回資料,endRequest又被真正觸發,這時 request為null, 也就是

Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack()為false.

相關推薦

UpdatePanel 控制元件,客戶事件生命週期

1 <script type="text/javascript" language="javascript"> 2 3 Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(functi

Asp.net Ajax 客戶頁面生命週期原生事件

init Event [初始化事件]    在所有指令碼被載入後,在任何一個物件被建立之前引發該事件。如果你打算寫一個元件(指令碼),init 事件提供了一個在生命週期內新增元件(指令碼)到頁面的點。該元件可以被其它在生命週期內的指令碼呼叫。如果你是一個網頁開發人員,在大多數

ASP.NET驗證控制元件客戶驗證成功或失敗之後執行js指令碼(轉)

要求:表單中用了驗證控制元件,如何能在驗證控制元件的客戶端指令碼驗證成功之後,執行一段js指令碼,比如彈出確認框,然後再提交,點取消則不提交。如果驗證控制元件沒通過,比如使用者沒填名字的話,不會提交。 網上看了一些文章,有的說不可能,有的則是使用服務端程式碼,需要提交頁面後才能正確執行。 下面的程式碼的測試環

ajax用beforeSend自定義請求過程中客戶事件,提高用戶體驗

函數 fun 直接 alert 完成後 and success ram reat 本文為博主原創,未經允許不得轉載: 在應用ajax的過程中,當我們再前臺提交請求的時候,如果服務端響應事件比較長,就會導致需要等很長時間在前臺才能接受到服務端返回的 響應結果,往

Android--四大元件之BroadCastReceiver(生命週期、實現原理及使用等)

####1. BroadCastReceiver是什麼? ####2. 廣播型別 ######1). 有序廣播 ######2). 無序廣播 ####3. 生命週期 ####4. 實現原理 ####5. 使用方法 ####6. 許可權問題(安全性) ####7. LocalBroad

Android_安卓為按鈕控制元件繫結事件的五種方式

寫在最前面     本次,來介紹一下安卓中為控制元件--Button繫結事件的五種方式。 二、具體的實現     第一種:直接繫結在Button控制元件上:         步驟1.在Button控制元件上設定android:onClick=",其中這個屬性的屬性值對應的是MainA

react 初探:類元件、狀態和生命週期

react 除了提供函式式元件外,還提供了類元件,類元件提供了狀態屬性,下面一起吧之前的函式元件轉換成類元件。 /* 類元件定義 */ class Clock extends React.Component{ render(){ return (

React——元件基本結構及其生命週期

元件基本結構 建構函式constructor 功能:子級繼承父級的時候,通過建構函式獲取父級的屬性和方法,並通過super()傳遞的引數進行構造。 constructor(){super()} 元件建構函式會在元件例項的時候最先呼叫! construct

查詢一個控制元件註冊的事件集合,並呼叫

https://blog.csdn.net/lt045508/article/details/68921433               PropertyInfo propertyIn

Extjs form提交時間段,監聽時間控制元件的select事件

DateForm = Ext.extend(Ext.ux.Form,{ taskIds:[], //存放批量任務 constructor: function(){ this.dateStart = this.createDateField('<font col

Android四大元件啟動順序、生命週期詳解

package com.dada.test; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; i

HTML5+規範:Events(管理客戶事件)

    Events模組管理客戶端事件,包括系統事件,如擴充套件API載入完畢、程式前後臺切換等。 1、常量 1.1、"plusready": 擴充套件API載入完成事件       document.addEventListener( "plusready", plusr

C#為控制元件動態新增事件繫結的時機

今天遇到個小問題,要為幾十個文字框新增相同的失去焦點事件,常規的辦法是在VS的事件管理器裡面新增,但那樣太繁瑣了,幾十個文字框,要加幾十遍,這行不通。 於是想到動態繫結,第一次嘗試如下: foreach(TextBox tbx in tbxs){ tbx.Lea

iOS 事件穿透,點選穿透,控制元件不響應事件

前言 小夥伴們在開發中是否遇到過這樣的需求呢,一個控制元件的某個部分被另外一個控制元件遮擋住,當點選這個重疊部分時,需要響應被遮蓋控制元件的點選事件,就如下圖所示 當我們點選區域3時,響應藍色按鈕的點選事件,點選區域1和2時,響應紅色按鈕的點選事件,對於區域1和3沒什麼好說的,那如何讓紅色按鈕響應區域2

優雅的在通用Adapter的item內部控制元件監聽事件

很多人對鴻洋大神的通用Adapter感興趣,通用Adapter提供了全新的繫結控制元件思路,為開發節省了不必要的程式碼,需求中需要做item內部控制元件監聽點選事件如何做,正常的我們需要在Adapter中 直接設定就可以了,使用了通用的Adapter你可以這樣做

MFC vc++ 中CTreeContrl如何自定義實現滑鼠單擊或雙擊響應事件 ,即重寫類似於控制元件的響應事件或訊息

目的:自定義修改mfc視窗的FileView中已有的樹結構,而不是新增的樹控制元件 實現的效果如圖:點選“地圖”後彈出框提示,點選響應效果與控制元件的響應事件類似 首先需要重寫CtreeContrl: ① 在CViewTree類的.h標頭檔案中新增程式碼: a

主視窗關閉時觸發子視窗的關閉事件 wpf使用者控制元件的關閉事件 wpf usercontrol 釋放時觸發關閉事件

/// <summary> /// 關閉視窗事件 /// </summary> /// <param name="sender"></param> /// <

android RecyclerView介面卡實現item+item內部控制元件點選事件

@先看看效果是不是自己想要的吧@Adapter:自定義一個繼承RecyclerView.Adapter的介面卡,作用:將資料與每一個item繫結LayoutManager:佈局管理器,確定每一個item的擺放形式,展示和隱藏        a: LinearLayoutMan

UpdatePanel控制元件,你真的會用了嗎?

文/gxlxzys  出處/部落格園    剛接觸這控制元件的時候,感覺這東西好神奇,把頁面中的東西放進去就能實現非同步重新整理,其它的什麼都不用做。我就這樣一直用了一段時間,最近才發現 UpdatePanel控制元件並不是個簡單的東東,我想肯定還有像我這樣把UpdatePa

asp.net中的html控制元件點選事件與伺服器控制元件點選事件的不同

ASP.NET中Onclick和OnserverClick事件的區別 對於伺服器按鈕控制元件(即<asp:Button>型別的按鈕): 伺服器響應事件:OnClick 客戶端響應屬性:OnClientClick 對於html按鈕控制元件(即<input t