我有以下情形:按鈕在CustomControl中添加的OnClick不回傳,直到第二次點擊
UserControlA
包含了一些代碼,一個項目一個購物籃在AddItem
一個<asp:Button id="bSomeid" onClick="AddItem" />
。UserControlB
包含一些LinkButton
的動態添加選擇UserControlA
到OnClick
事件中的頁面。
這一切都在UpdatePanel
完成。這有點複雜,但我已經將信息修剪到了我認爲會導致問題的地方,如有必要,我會添加更多信息。
我遇到的問題是點擊LinkButton
之後,我添加了項目到頁面後,需要2次點擊才能觸發AddItem
事件。
我明白爲什麼會發生這種情況 - 在頁面週期的晚些時候在onclick上註冊下一篇文章的事件 - 但任何人都可以想到一種解決方法嗎?我可以強制在下一次回傳中觸發事件嗎?我試圖想辦法在page_load
中運行我的代碼,但我需要訪問中的sender
。
使用.NET 4.0。
編輯
我設法找到一種方式來獲得鏈接按鈕(使用Request.Form["__EVENTTARGET"];
)發送在Page_Load請求讓我感動我的代碼爲Page_load
事件。它仍然需要2次點擊,所以我認爲這與onClick被註冊的時間沒有關係。
是否有任何其他一般事情要檢查,可能導致按鈕需要2次點擊才能正確發佈事件?
我試過了,但仍然需要2次點擊。我也嘗試將我的代碼移動到page_load,它仍然需要2次點擊。我認爲其他事情是錯誤的。任何粗略的想法是什麼會導致按鈕有2次點擊來觸發事件? – webnoob
@webnoob,看我的編輯。 – VinayC