4
我做了大量搜索,無法弄清楚。設置爲ModalPopupExtender後,鏈接的OnClick代碼不會執行TargetControlID
我有一個ModalPopupExtender彈出窗口,我想在用戶單擊鏈接DoSomething時顯示。彈出窗口中有一個下拉控件,當用戶要求打開對話框時,我會隨即填充該下拉控件。這需要通過後面的代碼發生在服務器端。目前我正嘗試通過鏈接上的OnClick事件來完成此操作,但只要鏈接綁定到ModalPopupExtender,鏈接OnClick代碼就不會執行。
代碼片段:
<asp:LinkButton ID="lnkDoSomething" runat="server" onClick="lnkDoSomething_Click">Do Something</asp:LinkButton>
<asp:ModalPopupExtender ID="mpelnklnkDoSomething" runat="server" BackgroundCssClass="modalBackground"
DropShadow="true" PopupControlID="lnkDoSomething"
PopupDragHandleControlID="pnlDragHandlerForlnkDoSomething"
TargetControlID="lnklnkDoSomething"></asp:ModalPopupExtender>
的問題,儘快爲我設定的ModalPopupExtender來的OnClick代碼不執行鏈接。這顯然是設計的,但對我來說(天真)沒有意義,就好像用戶點擊了應該執行的OnClick代碼的鏈接。
任何想法爲什麼這不被支持和正確的解決方案是什麼?
非常好,謝謝瑞克它的工作原理。在相關說明中,您是否知道我們需要附加到虛擬按鈕上的「爲什麼」?這似乎基本上是一個解決方案,所以我想知道是否有一個核心的ASP設計原因,爲什麼不允許它在鏈接上 – 2012-04-18 19:59:48
當你關聯按鈕/ linkbutton,ModalPopUpExtender接管客戶端onclick事件來做「彈出」。它返回false取消實際的客戶端點擊事件。虛擬按鈕是ASP.NET真正需要的,可能是它實現的接口,所以它可以通過ASP.NET頁面生命週期連接事件。 – 2012-04-18 20:03:38
謝謝rick_schott。 – ZahidKakar 2013-12-16 14:19:38