ImageButton в UpdatePanel вызывает полную обратную передачу в Firefox - PullRequest
2 голосов
/ 21 июля 2009

У меня есть панель обновления с кнопкой Image:

<asp:ImageButton ID="btnChangeMedium" OnClick="Change_Click" runat="server" />

Когда страница загружается, основываясь на некоторой логике, я устанавливаю атрибуты onclick в коде позади.

btnChangeMedium.Attributes.Add("onclick", "ChangeMedium();");

Работает отлично в IE. В FF кнопка изображения вызывает обратную передачу! Методом проб и ошибок, а также поиском в Интернете, я обнаружил, что виновником является онклик. В одной записи блога указывалось, что если установлен OnClientClick, обратной передачи не должно быть, поэтому я изменил кнопку изображения на:

    <asp:ImageButton ID="btnChangeMedium" OnClick="Change_Click" runat="server"
 OnClientClick="#"/>

Я смог заставить его не делать постбэк при нажатии кнопки изображения, но, к сожалению, это не решило мою проблему полностью. HTML-код, представленный сейчас:

    <input type="image" id="ctl00_WorkSpaceContent_ctlParent_btnChangeMedium"
src="../../images/sec.gif" onclick="#;ChangeMedium();"/>

Итак, функция ChangeMedium() никогда не вызывается. Есть ли обходные пути к этой проблеме?

Любая помощь очень ценится

Спасибо!

Ответы [ 2 ]

1 голос
/ 18 сентября 2009

Попробуйте это:

 <asp:ImageButton ID="btnChangeMedium" OnClick="Change_Click" runat="server"
 OnClientClick="javascript:void(0);ChangeMedium();"/>
1 голос
/ 21 июля 2009

Что вам нужно сделать, это удалить OnClientClick и поставить следующее:

btnChangeMedium.Attributes.Add("onclick", "ChangeMedium();return false;");
...