ModalPopupExtender仅弹出UpdatePanel一次

时间:2016-01-08 19:33:11

标签: asp.net webforms updatepanel ajaxcontroltoolkit

ModalPopupExtender连接btnCancel按钮以触发弹出UpdatePanel。 UpdatePanel是取消确认,其中包含“是”按钮和“否”按钮。单击否按钮后,面板关闭,但再次单击时btnCancel不再触发弹出窗口。 “是”按钮工作并触发服务器端YesButton_Click事件。这是我的代码。谢谢你的帮助。



<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
  <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />
  <asp:Button ID="btnCancel" Text="Cancel Task" runat="server" ToolTip="Cancel the displayed task and remove it from Tracker" CausesValidation="false" />

  <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnCancel"
    PopupControlID="ConfirmationPanel" BackgroundCssClass="modalBackground" />

  <asp:UpdatePanel ID="upd_yes_no" runat="server">
    <ContentTemplate>
      <asp:Panel ID="ConfirmationPanel" runat="server" CssClass="modalPopup" Style="display: none">
        <div class="modalPopup-text">
          Are you sure you want to cancel this task?<br />
          <br />
          <asp:Button ID="YesButton" runat="server" Text="Yes" CommandArgument="Yes" OnClick="YesButton_Click" />&nbsp;&nbsp; 
          <asp:Button ID="NoButton" runat="server" Text="No" CommandArgument="No" />
        </div>
      </asp:Panel>
    </ContentTemplate>
  </asp:UpdatePanel>
</asp:Content>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我不是100%肯定,但似乎Extender和Extended控件必须位于同一个UpdatePanel中。因此,如果您在UpdatePanel中移动“取消”按钮和ModalPopupExtender控件,它应该按预期工作。

<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />

      <asp:UpdatePanel ID="upd_yes_no" runat="server">
  <ContentTemplate>

    <span id="buttons">
      <asp:Button ID="btnUndo" Text="Undo Edit" CommandArgument="undo" runat="server"
        OnClick="undo" CausesValidation="false" />
      <asp:Button ID="btnNewTask" Text="New Task" CommandArgument="newTask" runat="server"
        ToolTip="Unchange current and create new task"
        OnClick="NewTask" CausesValidation="false" />
      <asp:Button ID="btnCancel" Text="Cancel Task" runat="server"
        ToolTip="Cancel the displayed task and remove it from Tracker" CausesValidation="false" />
    </span>

    <ajax:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnCancel" PopupControlID="ConfirmationPanel" BackgroundCssClass="modalBackground" />
    <asp:Panel ID="ConfirmationPanel" runat="server" CssClass="modalPopup" Style="display: none">
      <div class="modalPopup-text">
        Are you sure you want to cancel this task?
        <br />
        <br />
        <asp:Button ID="YesButton" runat="server" Text="Yes" CommandArgument="Yes" OnClick="YesButton_Click" />&nbsp;&nbsp;
        <asp:Button ID="NoButton" runat="server" Text="No" CommandArgument="No" />
      </div>
    </asp:Panel>
  </ContentTemplate>
</asp:UpdatePanel>