2012-11-24 88 views
0

我有兩個更新面板,這些更新面板內有兩個模式彈出窗口。我試圖從一個modalpopup中的第一個updatepanel內的控件(按鈕)更改其中一個updatepanel中的標籤。點擊按鈕後,第一個模式彈出窗口將關閉,第二個模式彈出窗口將顯示標籤已更改,但彈出窗口中的標籤不顯示。在一個頁面中的兩個UpdatePanels

當我嘗試調用secondUpdatePanel.Update()在後面的代碼,第二模式彈出甚至不露面。幫助表示讚賞!我已經看到了從第一個彈出窗口到第二個彈出窗口分配asyncpostbacktriggers的教程,這些教程不在模態彈出窗口內。

所以,我可能失去了一些東西。

<asp:UpdatePanel ID="upPnlFormalAppeal" runat="server" UpdateMode="Conditional" > 
     <ContentTemplate> 
      <asp:HiddenField ID="hfFormalAppeal" runat="server" /> 
      <asp:ModalPopupExtender ID="mpopupFormalAppeal" runat="server" 
       TargetControlID="hfFormalAppeal" 
       PopupControlID="pnlFormalAppealPopup" 
       CancelControlID="btnClose" 
       BackgroundCssClass="modalBackground" > 
       <Animations> 
        <OnShown><Fadein Duration="0.50" /></OnShown> 
        <OnHiding><Fadeout Duration="0.75" /></OnHiding> 
       </Animations> 
      </asp:ModalPopupExtender> 
      <!-- Details View for Formal Appeal --> 
      <asp:DetailsView ID="dvFormalAppeal" runat="server" Height="50px" AutoGenerateRows="False" CssClass="dvCSS" > 
       <!-- DATA HERE --> 
      </asp:DetailsView> 
      <div class="footer"> 
       <asp:LinkButton ID="btnSubmit" runat="server" Text="Submit" 
        CausesValidation="false" OnClick="btnSubmit_Click" /> 
        &nbsp; 
       <asp:LinkButton ID="btnClose" runat="server" Text="Close" CausesValidation="false" /> 
       <asp:ConfirmButtonExtender ID="cbeSubmit" runat="server" 
        ConfirmText="Submit Appointment Request?" TargetControlID="btnSubmit"> 
       </asp:ConfirmButtonExtender> 
      </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

modalpopup中的第二個UpdatePanel。

<asp:Panel ID="Panel1" runat="server" CssClass="panelConfirmation" > 
    <asp:UpdatePanel ID="upPnlMessageBox" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true"> 
     <ContentTemplate> 
      <asp:HiddenField ID="hfSubmissionConfirmationBox" runat="server" /> 
      <asp:ModalPopupExtender ID="mpopupConfirmation" runat="server" 
       TargetControlID="hfSubmissionConfirmationBox" 
       PopupControlID="Panel1" 
       CancelControlID="btnClose" 
       BackgroundCssClass="modalBackground" > 
      </asp:ModalPopupExtender> 
        <div class="mpopupBody"> 
         <asp:Label ID="lblConfirmationMessage" runat="server"></asp:Label> 
        </div> 
        <div class="footer"> 
         <asp:Button ID="btnConfirmClose" runat="server" Text="Close" 
          CausesValidation="false" onclick="btnConfirmClose_Click" /> 
        </div> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" /> 
      <asp:AsyncPostBackTrigger ControlID="btnConfirmClose" EventName="Click" /> 
     </Triggers> 
    </asp:UpdatePanel> 
</asp:Panel> 

後面的代碼。

protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     this.mpopupFormalAppeal.Hide(); 

     this.lblConfirmationMessage.Text = "Text changed!"; 
     //this.upPnlMessageBox.Update(); 
     this.mpopupConfirmation.Show(); 
    } 

任何幫助表示讚賞!

回答

0

對於那些具有相同的情景......我設法重新排序我的佈局設計來解決這個問題。

我置於modalpopup在UpdatePanel以外象下面這樣:

<asp:HiddenField ID="hfSubmissionConfirmationBox" runat="server" /> 
<asp:ModalPopupExtender ID="mpopupConfirmation" runat="server" 
    TargetControlID="hfSubmissionConfirmationBox" 
    PopupControlID="Panel1" 
    CancelControlID="btnClose" 
    BackgroundCssClass="modalBackground" > 
</asp:ModalPopupExtender> 
<asp:Panel ID="Panel1" runat="server" CssClass="panelConfirmation" > 
    <asp:UpdatePanel ID="upPnlMessageBox" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true"> 
     <ContentTemplate> 
      <div class="mpopupBody"> 
       <asp:Label ID="lblConfirmationMessage" runat="server"></asp:Label> 
      </div> 
      <div class="footer"> 
       <asp:Button ID="btnConfirmClose" runat="server" Text="Close" 
        CausesValidation="false" onclick="btnConfirmClose_Click" /> 
      </div> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" /> 
      <asp:AsyncPostBackTrigger ControlID="btnConfirmClose" EventName="Click" /> 
     </Triggers> 
    </asp:UpdatePanel> 
</asp:Panel> 
相關問題