2010-12-18 28 views
3

我們在asp.net頁面上有一個工作模式彈出窗口,並且需要添加另一個。鏈接按鈕打開第一個。在一個頁面上的多個ASP模式彈出

但是,如果我們嘗試爲另一個鏈接按鈕添加代碼以打開第二個彈出窗口,它將使用另一個mp擴展器控件,它們都不會起作用。如果我們刪除第二個彈出窗口和擴展程序代碼,它會再次運行。

我之前發佈了這個問題,但得到了關於在gridview中使用它們的回答,這不是正在發生的事情。這個問題並不複雜,只是我們無法在頁面上獲得兩個單獨的彈出窗口。是否有任何錯誤或任何會妨礙其正常工作的東西?

下面的代碼用於工作彈出窗口。看起來合乎邏輯的是,如果我們添加適用於頁面的代碼併爲控件提供新名稱,它應該也能正常工作,對嗎?無論如何,有一點幫助?

 <!--modal popup extender--> 
<ajax:ModalPopupExtender ID="mpe1" runat="server" 
     DropShadow="false" 
     TargetControlID="btn1" 
     PopupControlID="mp1" 
     BehaviorID="ModalPopBehavior" 
     CancelControlID="btnCancel"> 
</ajax:ModalPopupExtender> 

<!--modal panel--> 
<asp:Panel ID="mp1" runat="server" EnableViewState="true" Visible="False" Width="290px" height="140px" 
     BorderWidth="4px" BorderStyle="Ridge" BorderColor="Control" style="display:none;" > 
<asp:Table ID="Table1" runat="server" BorderStyle="None" Width="290px" Height="140px" BackColor="#ffffee"> 
    <asp:TableRow ID="TableRow1" runat="server">      
    <asp:TableCell ID="TableCell1" runat="server"> 
    <asp:Label ID="lbl1" runat="server" CssClass="PanelLabel" 
       Style="left: 60px; position: absolute; top: 4px" Text="label1" 
       ForeColor="#0000C0" /> 
    <asp:Label ID="lbl2" runat="server" CssClass="StdLabel" 
       Style="left: 6px; position: absolute; top: 30px" Text="label2" /> 
    <asp:TextBox ID="txt1" runat="server" CssClass="StdTextbox" 
       Style="left: 6px; position: absolute; top: 44px" Width="120px" /> 
    <asp:Label ID="lbl3" runat="server" CssClass="StdLabel" 
       Style="left: 160px; position: absolute; top: 30px" 
       Text="label3" /> 
    <asp:TextBox ID="txt2" runat="server" CssClass="StdTextbox" 
       Style="left: 160px; position: absolute; top: 44px" Width="120px" /> 
    <asp:Button ID="btnOK" runat="server" 
        Style="font-family: Tahoma; font-size: 11px; color: Navy; left: 60px; 
        position: absolute; top: 86px" Text="OK" Width="90px" /> 
    <asp:Button ID="btnCancel" runat="server" Text="Cancel" Width="50px" 
       style="font-family: Tahoma; font-size: 11px; color: Navy; top: 86px; left: 170px; 
       position:absolute;"/> 
    </asp:TableCell> 
    </asp:TableRow> 
</asp:Table></asp:Panel> 

在頁面中還有彈出窗口的隱藏按鈕。它看起來像這樣:

<!--hidden button for modal popup --> 
    <asp:Button ID="btn1" visible="true" runat="server" Style="display: none" Enabled="false" /> 

回答

3

好,所以問題是每個擴展器的behaviorID屬性必須是唯一的。一旦我將behaviorID設置爲與每個擴展器中的ID相同的名稱,它們都可以工作。當然,所有彈出對象本身的其他控件也必須是唯一的。

+0

謝謝。還值得一提的是,每個擴展器都必須有自己的按鈕。在你的例子中,btn1。 btn1只能爲1個MPE工作。至少這就是它爲我表現的樣子。 你爲我節省了很多時間。感謝張貼。 – greg 2015-01-21 23:54:33

相關問題