Отключить UpdateProgress в UpdatePanel с помощью кнопки ASP OnClientClick

У меня есть один элемент управления UpdateProgress в моем UpdatePanel. В этом UpdatePanel у меня есть MultiView. Этот MultiView имеет много кнопок для навигации по различным видам.

Я пытаюсь показать анимацию UpdateProgress только при нажатии определенной кнопки. Все остальные кнопки должны скрывать/отключать элемент управления UpdateProgress. Я пытаюсь это сделать через jQuery. Я открыт для любого метода, хотя.

Это мой текущий код:

 function hideProgress() {
    $('#<%= UpdateProgress.ClientID %>').hide();
    //console.log('hello');
    return false;
 }

Вот одна из кнопок:

 <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" OnClientClick="hideProgress()" />

Я знаю, что попадаю в свою функцию, потому что получаю сообщение журнала. Ошибок нет, просто не работает.

Может ли кто-нибудь показать мне, как я это сделаю?

Спасибо!


person Jared    schedule 04.05.2012    source источник
comment
Если вы просматриваете исходный код страницы при ее отображении, совпадают ли идентификаторы или UpdateProgress и UpdateProgress.ClientID?   -  person Tim B James    schedule 04.05.2012
comment
Что, если вы просто попробуете document.getElementById('<%= UpdateProgress.ClientID %>').style.display = "none";?   -  person Tim B James    schedule 04.05.2012


Ответы (1)


Попробуйте предложенное здесь решение: https://stackoverflow.com/a/6301744/1071574.

В двух словах, идея состоит в том, чтобы связать элемент управления UpdateProgress с «фиктивным» (то есть несуществующим) UpdatePanel всякий раз, когда вы хотите его отключить, на основе элемента управления, сгенерировавшего асинхронную обратную передачу. Это приведет к тому, что он никогда не будет отображаться (поскольку единственный UpdatePanel, с которым он должен работать, не существует).

person Cobra    schedule 23.05.2012