0

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

 <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();” 代码它不显示模态面板。

4

2 回答 2

2

两种解决方案:

第一个解决方案:

从. Style="display:none"_pnlModalPopup

第一个解决方案是在页面第一次加载时导致弹出窗口在屏幕上“闪烁”,然后迅速消失。

第二种解决方案:

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

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

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

我刚刚在一个仅包含您提供的代码的简单页面中测试了您的代码......它按预期工作

检查以下内容:

  1. 您的模式弹出窗口是否在UpdatePanel有条件更新的情况下定义?
  2. 检查以确保模式弹出窗口未在Panel可见性设置为 false 的情况下定义。
  3. 如果这不起作用,则检查模式弹出窗口是否实际上在呈现的网页的源代码中。
于 2009-10-22T19:32:55.310 回答
0

根据需要听取 Chris 的评论:

display:none 是装饰性的,否则在页面加载时弹出窗口将显示,然后在 ModalPopupExtender 启动并隐藏它时迅速消失。

我们必须让我们的节目像这样:

  pnlModalPopup.Visible = true;           
  modalMessage.Show();
于 2009-10-22T19:39:15.360 回答