Событие ImageButton не запускается внутри панели обновления - PullRequest
2 голосов
/ 11 февраля 2009

Это своего рода продолжение моего вопроса здесь:

Asp: метка не отображается, когда для параметра visible установлено значение true?

В приведенном выше вопросе у меня было несколько элементов управления, в которых видимость не была установлена ​​на false, потому что они не были в UpdatePanel. Как только я поместил элементы управления в UpdatePanel, переключение видимости сработало, но это вызвало у меня еще одну проблему. У меня есть ImageButton, который экспортирует в Excel. Когда кнопка не была в UpdatePanel, событие щелчка срабатывало, но теперь, когда я поместил ее в UpdatePanel, событие щелчка не срабатывает.

У меня также есть выпадающий список, который отлично работает. Я думаю, что это как-то связано с тем, что ImageButton не имеет свойства AutoPostBack.

Ответы [ 8 ]

2 голосов
/ 30 августа 2012

Добавьте ChildrenAsTriggers="true" на панель обновлений. Работает, если у вас есть главные страницы.

Если ваша панель обновлений находится в режиме мастер, вы не можете добавлять триггеры.

2 голосов
/ 22 декабря 2010

У меня была похожая проблема. В моем случае ImageButtons находятся внутри ретранслятора, который связан с updatepanel. Но я использовал Page.RegisterRequiresRaiseEvent(ImageButton) в коде метода ItemDataBound ретранслятора, и он работал.

1 голос
/ 20 марта 2012

Если у вас есть элемент данных с кнопкой изображения в itemTemplate, триггер не требуется, но causeValidation = false есть.

1 голос
/ 15 июня 2009

Убедитесь, что вы связали кнопку изображения с PostBackTrigger на UpdatePanel. Если вы экспортируете в Excel, используя что-то похожее на метод Мэтта Берсета , вы должны иметь этот триггер, чтобы экспорт работал.

<asp:PostBackTrigger ControlID="ImageButton1"/>
0 голосов
/ 13 января 2010

изменить атрибут CausesValidation на false.

0 голосов
/ 18 ноября 2009
myImagebutton.OnClientClick = "return true;";
0 голосов
/ 17 ноября 2009

Попробуйте заменить кнопку image на меню (которое содержит один элемент меню) и установите его свойство imageurl.

0 голосов
/ 11 февраля 2009

Нет, кнопки ImageButton не имеют AutoPostBack: они не нужны им больше, чем обычные кнопки.

Такое поведение звучит довольно странно. Я бы сказал, что первой попыткой было бы изменить asp: ImageButton на asp: Button и посмотреть, изменит ли это поведение. Если нет, то, что это ImageButton, это красная сельдь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...