asp.net - 单击按钮时模式弹出扩展器不显示面板

标签 asp.net updatepanel ajaxcontroltoolkit modalpopupextender

我正在尝试在我的页面上使用模式弹出扩展程序,因此当我单击按钮时,它必须显示一个面板。这是我所拥有的:

    <asp:UpdatePanel runat="server" ID="updPanel">
    <ContentTemplate>
        <ajaxToolkit:ModalPopupExtender ID="mpeEmailComplete" runat="server" TargetControlID="btnTesting"
            PopupControlID="pnl" OkControlID="btnOk"
             BackgroundCssClass="modalBackground">
        </ajaxToolkit:ModalPopupExtender>



        <asp:Panel ID="pnl" runat="server" style="display:none;">
            <asp:UpdatePanel ID="udp" runat="server">
                <ContentTemplate>
                    <asp:Panel runat="server" ID="pnlEmailComplete" Visible="false">
                        <asp:Label runat="server" ID="lblTest" Text="Testing testing testing"></asp:Label>
                        <asp:Button runat="server" ID="btnOk" Text="OK" />
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>
        </asp:Panel>


        <asp:Button runat="server" ID="btnTesting" Text="Testing"/>

    </ContentTemplate>
</asp:UpdatePanel>

但是当单击按钮时我无法弹出面板。有人知道为什么吗?

最佳答案

您最里面的面板有 Visible=false。

<asp:Panel runat="server" ID="pnlEmailComplete" Visible="false">  *(change here)*

因此,当您按下 TESTING 按钮时,ModalPopupExtender 会正确显示外部面板,但它显示的是不可见的内部面板,因此您在屏幕上看不到任何内容。

<asp:Panel ID="pnl" runat="server" style="display:none;">  *(this is ok)*

要修复此问题,只需从外部面板中拉出 Visible=false (pnlEmailComplete)

希望有帮助!

关于asp.net - 单击按钮时模式弹出扩展器不显示面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10287310/

相关文章:

c# - TDD - 想用一个假的存储库测试我的服务层,但是如何?

asp.net - 使用HttpRequestMessage.Properties承载每个请求的上下文

asp.net - 如何在 ASP.NET 的一个位置显示不同的 AJAX 更新面板?

javascript - AJAX slider 控件...需要第二个标签来反射(reflect)百分比

c# - ASP.NET WebForms - 在当前 HttpContext 中创建和使用新 session

c# - JIT 编译器遇到内部限制。 VS2008

asp.net - UpdatePanel中的按钮随机丢失事件处理程序

jquery - UpdatePanel 动画仅在超时后运行

c# - 如何将两个列值添加到列表

javascript - 如何在弹出窗口显示时调用 jQuery 中的函数