2014-03-05 2 views
2

Я использую ASP.NET 4.0 с использованием C#. У меня есть веб-форма, где весь мой макет существует в UpdatePanel. Внутри у меня есть следующий:ASP.NET Использование ретранслятора внутри UpdatePanel с UpdateProgress

панели для ввода критериев поиска с текстовыми полями и кнопкой поиска

UpdateProgress с анимированным .gif

панели с повторителем, который получает заселенный в соответствии с моим первым sproc (с помощью поиска критерии) - внутри каждой строки используется LinkButton, который при нажатии вызывает мой второй sproc и заполняет панель в строке Repeater. Я заполняю панель в коде в событии ItemCommand ретранслятора. Я использую CommandArgument для LinkButton для моего второго sproc. У меня есть CollapsiblePanelExtender для анимации панели, содержащей данные из моего второго sproc.

У меня есть работа, но не так, как я хочу. Когда нажата кнопка поиска, UpdateProgress показывает мой анимированный .gif. Однако, когда LinkButton нажимается на ретранслятор datarow, мой второй sproc занимает около 6 секунд для обработки. Я хочу иметь UpdateProgress, который показывает анимированный .gif, когда это происходит. Я попытался исправить это, выполнив вторую UpdatePanel, но я не смог запустить UpdateProgress. Любая помощь будет принята с благодарностью. Заранее спасибо.

ответ

3

У меня сейчас все работает.

После долгих рытье я нашел это: How to do AsyncPostBackTrigger for the LinkButton in the Repeater

Я был в состоянии использовать это в моей директиве страницы: ClientIDMode = «AutoID»

Я также в конечном итоге добавление ImageButton к моему Repeater DataRow, и будет ли Я нажимаю кнопку LinkButton, ImageButton или Search. Теперь я получаю желаемый результат - UpdateProgress запускает и отображает анимированный файл .gif.

My UpdateProgress находится внутри моей UpdatePanel и имеет значение AssociatedUpdatePanelID, установленное на идентификатор моей UpdatePanel.

Надеюсь, это поможет кому-то.