Несколько идентификаторов цели и расширитель ModalPopUp - PullRequest
1 голос
/ 10 октября 2011

Вечер всех.

Ладно, поехали!

Да, у меня есть следующие кнопки на моей странице, и я хочу использовать одно модальное всплывающее окно для обоих кликов сохранения.Поэтому у меня есть следующее для кнопок:

<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" />

И ниже приведена информация о моей модальной панели:

<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" />

Теперь оба щелчка запускают одну модальную панель, которая находится на месте.Отменяет, отменяет, но есть одна проблема.

Когда я нажимаю на btnOkSave, это не подтверждает, что события на стороне сервера btnSave1_Click и btnSave2_Click не запускаются.

Есть идеи, что я сделал не так?

Ответы [ 2 ]

1 голос
/ 11 октября 2011

Ну, на самом деле я пошел по несколько иному маршруту и, увидев, что я использую инструментарий Ajax, я реализовал использование ConfirmButtonExtender.

Для двух исходных сохранений я настроил два отдельных ModalPopUpExtenders, указывающих ната же панель, выполняемая расширителем ConfirmButton:

  <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>

С этими элементами, прикрепленными к фактической панели:

<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" />

И это именно то, что я хочу сделать.

Все еще грязно, но работает :)

1 голос
/ 10 октября 2011

Для btnOkSave нет события OnClick.Добавьте это к вашему контролю:

OnClick="btnSave1_Click"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...