У меня есть большой метод, который анализирует документ excel. Для того, чтобы разобрать все превосходство, ему нужно около 10 минут (да, это очень большой документ с большим количеством листов). Метод вызывается, когда пользователь выбирает конкретное значение из выпадающего списка. Я использую следующую функцию блока, чтобы заблокировать панель, чтобы показать пользователю, что обработка синтаксического анализа обрабатывается.Моя панель обновления не разблокирована
function lockGridUI() {
$('#<%=UpdPnl_RevReports.ClientID%>').block({
message: $('<img src="../Images/loaders/load.gif"/>')
});
Проблема заключается в том, что если мой первенствовать документ нуждается в более чем 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 из кода позади в конце метода, но все равно не повезло.
Я не знаю, почему панель остается заблокированной, даже если мой метод закончен.
Не могли бы вы предложить что-нибудь?
ли ожидать пользователь какой-то результат от обработки? Лучше сразу вернуть «билет» пользователю и перенести обработку на задний план. В конце процесса сохраните результат с билетом в БД или файл. Затем пользователь может проверить результат, используя свой билет. –