2010-12-18 58 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

相关问题