2009-02-10 4 views
2

Это своего рода наблюдения на мой вопрос здесь:ImageButton событие не стрельбы внутри Update Panel

Asp:Label is not shown when visible is set to true?

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

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

ответ

1

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

<asp:PostBackTrigger ControlID="ImageButton1"/> 
0

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

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

0

Попробуйте заменить ImageButton с меню (который содержит одну пункта меню) и установить его свойство ImageUrl.

0
myImagebutton.OnClientClick = "return true;"; 
2

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

1

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

2

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

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

Смежные вопросы