我有一個解析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函數,但仍然沒有運氣。
我不知道爲什麼即使我的方法完成,面板仍然被阻塞。
您能否給點建議?
是否用戶期望從處理一些結果?最好立即向用戶返回「票證」並將處理置於後臺。在過程結束時,將結果保存到數據庫或文件的票證中。用戶然後可以使用他們的票證檢查結果。 –