Я установил несколько панелей внутри элементов управления, чтобы показать / скрыть вещи в зависимости от номера версии. У меня есть код, который проходит через панели на странице, и если номер версии не совпадает, тогда для панели устанавливается значение Дисплей: Нет . Я знаю, что панели установлены на Дисплей: нет , потому что я проверял его в инструментах 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");
}
}
}
}