繁体   English   中英

另一个模式弹出扩展程序问题

[英]Another modal popup extender question

我正在尝试使模式弹出窗口起作用,需要在后面的代码中触发它。

 <asp:Button ID="btnModalPopUp" runat="server" Text="Button" Style="display: none" />
<asp:Panel ID="pnlModalPopup" runat="server" CssClass="modalPopup" Style="display: none"
    Width="233px">
    <div id="Div1" runat="server" cssclass="title">
        Modal text here.
        <asp:TextBox ID="txtEditComments" runat="server"></asp:TextBox>
    </div>
</asp:Panel>
<cc1:ModalPopupExtender ID="modalMessage" runat="server" TargetControlID="btnModalPopUp"
    PopupControlID="pnlModalPopup" BackgroundCssClass="modalBackground"         DropShadow="true"/>

后面的代码:

protected void Page_Load(object sender, EventArgs e)
{
    modalMessage.Show();
}

即使命中“ modalMessage.Show();” 代码不显示模式面板。

两种解决方案:

第一个解决方案:

pnlModalPopup删除Style="display:none"

第一种解决方法是,在页面首次加载后,弹出窗口在屏幕上“闪烁”,然后迅速消失。

第二种解决方案:

protected void Page_Load(object sender, EventArgs e)
{
    pnlModalPopup.Style["display"] = "block";
    modalMessage.Show();
}

建议:我建议使用第二种解决方案,这样模态弹出窗口不会闪烁然后消失。

编辑:我刚刚测试了您的代码:

我只是在一个简单的页面中测试了您的代码,该页面仅包含您提供的代码... 工作正常

检查以下内容:

  1. 是否在有条件更新的UpdatePanel中定义了模式弹出窗口?
  2. 检查以确保未在将其可见性设置为false的Panel中定义模式弹出窗口。
  3. 如果这不起作用,则检查模式弹出窗口是否确实在呈现的网页的源代码中。

根据需要听克里斯的评论:

display:外观上不需要任何内容​​,否则将在页面加载时显示弹出窗口,然后在ModalPopupExtender插入并隐藏它时会快速消失。

我们必须像这样显示我们的节目:

  pnlModalPopup.Visible = true;           
  modalMessage.Show();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM