与2个updatepanels的ModalPopup(ModalPopupExtender)问题

时间:2014-02-22 23:42:35

标签: c# asp.net ajax modalpopupextender

我有一个带有2个updatepanel的ModalPopup。这一切都很好,但我希望第二个更新面板只在用户在更新面板1中的asp:RadioButtonList中选择一个选项时显示。

当我在第二个asp:UpdatePanel上设置Visible =“false”时,整个ModalPopup面板停止显示。我只包含了部分代码,我根据需要提供了所有工作,但这是一个很好的...(在ASP.NET网站上使用VS2012 CSS3 HTML5 C#.NET)

这是aspx:

<div id="divScheduleTask" runat="server">

<asp:Panel ID="pnlScheduleTask" runat="server" >
     <asp:UpdatePanel runat="server" ID="udpScheduleTask">
         <ContentTemplate>
             <asp:Label ID="lblTaskSch" Text="Task Scheduling: " runat="server" />
             <br />
             <asp:Label ID="lblSchType" runat="server" Text="Select Due Date Type :"/>
             <br />
             <asp:RadioButtonList ID="radSchType" RepeatDirection="Horizontal"  runat="server"  OnSelectedIndexChanged="ddlSchType_SelectedIndexChanged">
                <asp:ListItem  Text="Exact DueDate" Value="Exact"/>
                <asp:ListItem  Text="Dynamic DueDate" Value="Dynamic"/>
             </asp:RadioButtonList><br />
         </ContentTemplate>
     </asp:UpdatePanel>
     <asp:UpdatePanel ID="upSch2" runat="server"  Visible="false">
          <ContentTemplate><asp:Label ID="lblDueDate" runat="server" Text="Select Due Date: " Visible="false"></asp:Label>
          </ContentTemplate>
     </asp:UpdatePanel>
</asp:Panel></div>

我尝试使用div,asp:Table,现在是第二个updatePanel,只要我在其中任何一个上设置Visible =“false”,整个​​面板就会停止显示....我错过了什么?!

1 个答案:

答案 0 :(得分:2)

将控件设置为可见会阻止其呈现。请参阅MSDN:http://msdn.microsoft.com/en-US/library/system.web.ui.control.visible.aspx

您可以尝试在第二个更新面板中放置div(runat服务器)或asp.net面板,然后在需要隐藏它时,尝试将样式或css类添加到设置样式的div或面板中显示为“无”的属性如下:

.hiddenPanel{ display:none;}

上面的代码块是您可能定义的css类的示例,您可以将其作为类引用添加到div中,例如class =“hiddenPanel”。