我在控件内部设置了多个面板,以根据版本号显示/隐藏内容。我有通过页面面板浏览的代码,如果版本号不匹配,则面板设置为 Display:None 。我知道面板设置为 Display:none ,因为我在调试时已在Chrome Developer工具中对其进行了验证。问题在于,包装在面板内的控件仍显示在页面上。以下是在html中设置面板的方式以及将面板设置为显示的代码:无。请指教。谢谢。
如果将面板的visible设置为false,它将起作用,但是即使控件未显示,我仍然需要控件在页面上呈现。
<asp:Panel runat="server" version="1" ID="property113_v1">
<tr>
<td class="asterisk"> </td>
<td colspan="2" class="required">How to blank? </td>
</tr>
<tr>
<td> </td>
<td colspan="2"><asp:RadioButtonList ID="property113" runat="server" RepeatDirection="horizontal" RepeatLayout="flow">
<asp:ListItem Text="Yes" Value="Y"></asp:ListItem>
<asp:ListItem Text="No" Value="N"></asp:ListItem>
</asp:RadioButtonList>
<asp:RequiredFieldValidator ID="property113Validator" runat="server" ControlToValidate="property113"
ErrorMessage="" Display="dynamic" ValidationGroup="Page"><span class="validator"> </span></asp:RequiredFieldValidator></td>
</tr></asp:Panel>
foreach (Panel pnl in p)
{
if (pnl.Attributes["Version"] != null)
{
if (pnl.Attributes["Version"] == ver)
{
pnl.Style.Add(HtmlTextWriterStyle.Display,"");
}
else
{
pnl.Style.Add(HtmlTextWriterStyle.Display,"none");
}
}
}
}