簡體   English   中英

我的更新面板不會解除阻止

[英]My update panel doesn't unblock

我有一個解析Excel文檔的大方法。 為了解析整個excel,目前大約需要10分鍾(是一個很大的excel文檔,包含很多工作表)。 當用戶從下拉列表中選擇特定值時,將調用該方法。 我正在使用以下阻止功能來阻止面板以向用戶顯示解析正在處理。

 function lockGridUI() {
        $('#<%=UpdPnl_RevReports.ClientID%>').block({
            message: $('<img src="../Images/loaders/load.gif"/>')

        });

問題是,如果我的excel文檔需要4分鍾以上才能被解析,則我的面板將永遠被阻止! 我已經設置了超時取消阻止功能,並且可以正常工作,但是我不想添加超時來取消阻止面板,因為我不知道要解析Excel所需的時間。

我從后面的代碼中嘗試了以下方法:

 string sScript = "";
    sScript = sScript + "function unlockUI() {";
    sScript = sScript + @"$('#<%=UpdPnl_RevReports.ClientID%>').unblock();" ;
    sScript = sScript + "}";


    // REGISTER NOW.
    Page.ClientScript.RegisterStartupScript(this.GetType(), "Registered Script", sScript, true);

不幸的是沒有運氣! 我在方法末尾從代碼中調用了javascript函數,但仍然沒有運氣。

我不知道為什么即使我的方法完成后面板仍會阻塞。

你能建議點什么嗎?

您可以在代碼隱藏中嘗試:

ScriptManager.RegisterStartupScript(this, this.GetType(), "Registered script", string.Format("$('#{0}').unblock();", UpdPnl_RevReports.ClientID), true);

您還可以在ScriptManager中增加異步回發的超時:

<asp:ScriptManager ID="scriptManager1" runat="server" AsyncPostBackTimeout="1800" />

暫無
暫無

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

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