簡體   English   中英

sender._postBackSettings.sourceElement未定義

[英]sender._postBackSettings.sourceElement is undefined

這就是我想要做的-

當文檔准備好並且頁面沒有回發時使用jQuery,我為updatepanel發出了手動回發,以便從數據庫中檢索數據。

當updatepanel獲取數據時,我會顯示一個updateprogress,當特定的updatepanel完成時,我將其隱藏。 我也想“阻止”任何交互的屏幕。 加載數據后,我在表單上還有其他按鈕,如果有部分回發,我想阻止所有內容。

這是代碼:

$(document).ready(function ()
       {
            if(<% =(Not Page.isPostBack).ToString().ToLower() %>)
            {
            __doPostBack('upShipping');
            }
        }
       function pageLoad() {
            var prm = Sys.WebForms.PageRequestManager.getInstance();
            prm.add_beginRequest(BeginRequestHandler);
            prm.add_endRequest(EndRequestHandler);
       }
function BeginRequestHandler(sender, args)
            {
                $('.blur').css("display", "block");
                if (args._postBackElement.id == 'upShipping') {
                    $get('divCalculating').className = 'Show';
                }
            }


       function EndRequestHandler(sender, args)
            {
              $('.blur').css("display", "none");
                if (sender._postBackSettings.sourceElement.id == 'upShipping')
                {
                    $get('divCalculating').className = 'Hidden';
                }
              } 

如果我沒有在屏幕上“單擊”,則一切正常。 但是,如果我在updatepanel更新時僅單擊屏幕上的任意位置,則不會觸發“ EndRequestHandler”,並且會卡住加載的gif和受阻的屏幕。 我在瀏覽器的錯誤控制台中收到以下錯誤:sender._postBackSettings.sourceElement未定義

有任何想法嗎?

謝謝!

缺口

由於某種原因, sender._postBackSettings.sourceElementEndRequestHandler始終以NULL的形式返回。

我定義了一個全局變量,在BeginRequestHandler為其分配了一個值,並在EndRequestHandler檢查了它的值。
這樣就解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM