2009-10-22 40 views
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();”代码它不显示模式面板。

+0

OK - 这是什么问题?顺便说一下: Arthur 2009-10-22 19:03:56

+1

@Arthur:'display:none'需要美观,否则当页面加载时弹出窗口会显示,然后在ModalPopupExtender启动并隐藏时会很快消失。 – Chris 2009-10-22 19:35:28

+0

只是一个问题,但是如果您从btnModalPopup中删除“display:none”,是否会执行此操作? – 2009-10-22 19:39:43

回答

2

两个解决方案:

第一个解决方案:

pnlModalPopup删除Style="display:none"

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

第二种方案:

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

建议: 我会建议使用第二种方案,但这样的模式弹出不闪烁,然后消失。

编辑:我只是测试你的代码:

我只是测试你的代码中仅包含您所提供它的工作像预期代码...... 一个简单的页面。

检查以下内容:

  1. 是您的模式弹出是在UpdatePanel被有条件地更新定义?
  2. 检查以确保在Panel中未将其可见性设置为false的模式弹出窗口定义。
  3. 如果这不起作用,那么检查模态弹出窗口是否实际位于渲染网页的源代码中。
+0

这两个解决方案不起作用。不管怎么说,还是要谢谢你。 – 2009-10-22 19:38:52

+0

在您的代码中是否有任何其他引用可以设置'pnlModalPopup'(通过样式标记或可见属性)的可见性? – Chris 2009-10-22 19:41:09

+0

CSS: .modalBackground { background-color:Gray; filter:alpha(opacity = 70); 不透明度:0.7; } .modalPopup { } background-color:#ffffff; padding:3px; } 这是我用这些控件做的唯一样式。 – 2009-10-22 19:48:24

0

听克里斯的评论,因为它需要:

显示:在美容需要没有, 否则弹出时会显示 页面载入,然后将迅速 消失而ModalPopupExtender 踢入并隐藏它。

我们不得不做出我们的表现是这样的:

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

只有当它们将Visible属性设置为false后面的代码的某处时才起作用,因为他没有在标记中设置Visible属性。如果是这种情况......他应该考虑**从不将“可见”属性设置在首位。** – Chris 2009-10-22 19:46:09

+0

我们不在我们的可见属性中设置测试。 – 2009-10-22 19:46:47

+0

如果该模式不显示,则很可能出现JavaScript错误。 – 2009-10-22 19:53:01

相关问题