另一个模态弹出扩展器问题

时间:2009-10-22 18:59:09

标签: c# asp.net modalpopupextender

我试图让一个模态弹出窗口工作,它需要在后面的代码中触发。

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

2 个答案:

答案 0 :(得分: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. 如果这不起作用,请检查模态弹出窗口是否实际位于呈现的网页的源代码中。

答案 1 :(得分:0)

在需要时听取Chris的评论:

  

显示:无需化妆品,   否则弹出窗口将显示   页面正在加载,然后会很快   在ModalPopupExtender中消失   开始并隐藏它。

我们必须像这样制作我们的节目:

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