[英]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.