Evening all.
Ok, here we go!
Right I have the following buttons on my page and I wish to use one modal popup for both save clicks. I therefore have the following for the buttons:
<asp:Button ID="btnSave1" runat="server" OnClick="btnSave1_Click"开发者_运维百科 Text="Save" OnClientClick="$find('showSaveConfirm').show(); return false;" />
<asp:Button ID="btnSave2" runat="server" OnClick="btnSave2_Click" Text="Save" OnClientClick="$find('showSaveConfirm').show(); return false;"/>
<asp:Button ID="btnSaveAll" runat="server" Text="" Style="display: none" />
And this below is my Modal panel info:
<asp:Panel ID="pnlSaveConfirm" runat="server" Style="display: none;" CssClass="modalPopupContainer">
<div id="Div7" class="modalPopupHeaderPanel">
<div id="Div8" class="modalPopupHeader">
</div>
<asp:LinkButton ID="LinkButton2" runat="server" CssClass="modalPopupClose" CausesValidation="False">Cancel and close</asp:LinkButton>
</div>
<div id="Div9" class="modalPopupBannerPanel">
<div class="modalPopupPanel">
<br />
You are about to save this piece of data.
<asp:Button ID="btnOkSave" runat="server" Text="Ok" />
<asp:Button ID="btnCancelSave" runat="server" Text="Cancel" />
<br />
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="mdlPopupSaveConfirm" runat="server" TargetControlID="btnSaveAll" BehaviorID="showSaveConfirm"
OkControlID="btnOkSave" CancelControlID="btnCancelSave" PopupControlID="pnlSaveConfirm" BackgroundCssClass="modalBackground" />
Now both clicks fire off the one modal panel which is spot on. The cancels, cancel but there is one problem.
When I click on the btnOkSave, this does not appear to be confirming as the btnSave1_Click and btnSave2_Click server side events do not get fired off.
Any ideas what I have done wrong?
Well I actually went down a slightly different route and seeing as I was using the Ajax toolkit, I implemented the use of the ConfirmButtonExtender.
For the two original saves, I set up two seperate ModalPopUpExtenders pointing at the same panel, these being executed by the ConfirmButton Extender:
<ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtender1"
runat="server" ConfirmText="" Enabled="True" TargetControlID="btnSave1" DisplayModalPopupID="mdlPopupSave1Confirm">
</ajaxToolkit:ConfirmButtonExtender>
<ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtender2"
runat="server" ConfirmText="" Enabled="True" TargetControlID="btnSave2" DisplayModalPopupID="mdlPopupSave2Confirm">
</ajaxToolkit:ConfirmButtonExtender>
With these attached to the actual panel:
<ajaxToolkit:ModalPopupExtender ID="mdlPopupSave1Confirm" runat="server" TargetControlID="btnSave1"
OkControlID="btnOkSave" CancelControlID="btnCancelSave"
PopupControlID="pnlSaveConfirm" BackgroundCssClass="modalBackground" />
<ajaxToolkit:ModalPopupExtender ID="mdlPopupSave2Confirm" runat="server" TargetControlID="btnSave2"
OkControlID="btnOkSave" CancelControlID="btnCancelSave"
PopupControlID="pnlSaveConfirm" BackgroundCssClass="modalBackground" />
And that has achieved exactly what I am looking to do.
Still dirty but it works : )
There is no OnClick event for btnOkSave. Add this to your control:
OnClick="btnSave1_Click"
精彩评论