我對Ajax完全陌生並且沒有接受過培訓。我只是抄襲了同事的代碼。我們有一個包含兩個Ajax控件的頁面:一個是我的同事寫的,一個是我寫的。除了一件商品外,一切都運行良好,而我的同事在另一個項目中也很喜歡他的眼球,所以我需要弄清楚這一點。問題是我寫的Ajax控件彈出一個帶有兩個按鈕的ListBox:Close和Select。按預期,選擇按鈕有一個OnClick事件並導致回發。但是,關閉按鈕確實有而不是有一個OnClick事件並仍然會導致回發。這與我的合作者編寫的非常類似的Ajax控件並不屬於同一頁面。代碼如下。我的同事代碼涉及電子郵件模板;我的電子郵件地址包含電子郵件查詢。對於我的生活,我沒有看到任何區別。任何人都可以告訴我爲什麼我的關閉按鈕導致回發和我的同事不?沒有OnClick事件的Ajax按鈕導致回發
<!--my co-worker's control-->
<tr>
<td width="20%"><br /><div class="formtext">Email Template:</div></td>
<td colspan="3"><br />
<asp:Button ID="btn_ShowTemplate" runat="server"
Text="View/Edit Template" />
<ajax:ModalPopupExtender ID="mpTemplate" runat="server" PopupControlID="panelTemplate" TargetControlID="btn_ShowTemplate"
CancelControlID="BtnTemplateClose" BackgroundCssClass="modalBackground">
</ajax:ModalPopupExtender>
<asp:Panel ID="panelTemplate" runat="server" CssClass="modalPopupTemplate" align="center">
<div class="formtext_modal">Litigation Hold Email Template <img src="images/v2/modal_email.png" alt="Email" /><br /></div>
<cc1:Editor ID="TemplateEditor" runat="server" Width="675px" Height="400px" />
<br />
<asp:Button ID="BtnTemplateClose" runat="server" Text="Close" CssClass="btnMatterClose" />
<asp:Button ID="btnTemplateSave" runat="server" Text="Save" CssClass="btnMatterSelect" OnClick="btnTemplateSave_Click" />
</asp:Panel></td>
</tr>
<!--my control-->
<tr>
<!-- email cc section -->
<td>Email CC:<br /></td>
<td colspan="3"><asp:Button ID="btnEmails" runat="server" Text="Lookup Email" /> <asp:TextBox
ID="tbEmails" runat="server" Width="80%" ReadOnly="true"></asp:TextBox><br />
<ajax:ModalPopupExtender ID="mpEmails" runat="server" PopupControlID="panelEmails" TargetControlID="btnEmails"
CancelControlID="btnClose" BackgroundCssClass="modalBackground">
</ajax:ModalPopupExtender>
<asp:Panel ID="panelEmails" runat="server" CssClass="modalPopupAttorneys" align="center">
<table align="center" width="100%">
<tr>
<td>
<div class="formtext_modal">Email(s) Lookup <img src="images/v2/modal_search.png" alt="Search" /></div><br />
<asp:Label ID="Label3" runat="server" Width="600px" CssClass="formtext"
Text="Add Employees to Email CC line"></asp:Label>
<div style="BORDER: thin solid; OVERFLOW: auto; WIDTH: 600px; HEIGHT: 140px">
<asp:CheckBoxList ID="cblEmails" runat="server" Width="600px" Height="140px" SelectionMode="Multiple">
</asp:CheckBoxList>
</div>
</td>
</tr>
但是我的同事的關閉按鈕不*會導致回發。我通過在Page_Load上放置一個斷點並通過調試器運行應用程序來驗證這一點。 – Melanie
@Melanie,我更新了我的答案 –
就是這樣,喬納斯。我應該有btnEmailClose而不是btnClose。我可能在某個時候重命名了該按鈕,並忘記在CancelControlID後更改該名稱。謝謝! – Melanie