Моя страница имеет элемент управления мастера, и этот мастер имеет несколько элементов управления.У меня есть список переключателей с двумя элементами списка (ДА и НЕТ).Этот список переключателей имеет автопост обратно в значение true.Причина в том, что при нажатии кнопки «Да» отображается панель, и эта панель имеет множество элементов управления.При нажатии кнопки «Нет» панель становится невидимой.
Таким образом, проблема в том, что, когда я нажимаю кнопку «Да», отображается панель, и если я затем нажимаю кнопку «Далее» в элементе управления «Мастер», то отображается сводка проверки, говорящая о выборе данных на отображаемой панели.Но затем, если я нажимаю переключатель «Нет», сводка проверки по-прежнему отображается, и сообщение не возвращается. Если я пытаюсь дважды нажать кнопку «Нет» (то есть нажмите «Да», а затем снова нажмите «Нет»), происходит обратный ответ, и панель становится невидимой.
Пожалуйста, найдите код ниже:
<asp:Label runat="server" ID="lblCompDetails" Text=""></asp:Label>
<asp:RadioButtonList runat="server" ID="rblLaptopPC" RepeatDirection="Horizontal" AutoPostBack="true" OnSelectedIndexChanged="rblLaptopPC_CheckedChanged" CssClass="ListStyle">
<asp:ListItem Value="0" Text="Yes"></asp:ListItem>
<asp:ListItem Value="1" Text="No"></asp:ListItem>
</asp:RadioButtonList>
<asp:RequiredFieldValidator ID="rblLaptopPCValidator" ControlToValidate="rblLaptopPC" Display="Dynamic" ValidationGroup="Required" runat="server" ForeColor="Red" InitialValue="" ToolTip="" ErrorMessage="" Text="*" SetFocusOnError="True"> * </asp:RequiredFieldValidator>
<asp:Panel ID="YesPanel" runat="server" Visible="false" >
<p>
<asp:Label runat="server" ID="lblCompOwner" Text=" AssociatedControlID="rblCompOwner" ></asp:Label>
<asp:RadioButtonList runat="server" ID="rblCompOwner" RepeatDirection="Horizontal" CssClass="ListStyle">
<asp:ListItem Value="0" Text="Own Computer"></asp:ListItem>
<asp:ListItem Value="1" Text="Owned by Local Authority"></asp:ListItem>
<asp:ListItem Value="2" Text="Other"></asp:ListItem>
</asp:RadioButtonList>
<asp:RequiredFieldValidator ID="CompOwnerValidator" ControlToValidate="rblCompOwner" Display="Dynamic" ValidationGroup="Required" runat="server" ForeColor="Red" InitialValue="" ToolTip="" ErrorMessage="" Text="*" SetFocusOnError="True"> * </asp:RequiredFieldValidator>
</p>
<br />
<p>
<asp:Label runat="server" ID="lblLaptopPC" Text=" "></asp:Label>
<asp:RadioButtonList runat="server" ID="LaptopPC" RepeatDirection="Horizontal" CssClass="ListStyle">
<asp:ListItem Value="0" Text="Laptop"></asp:ListItem>
<asp:ListItem Value="1" Text="PC"></asp:ListItem>
</asp:RadioButtonList>
<br />
</p>
<p>
<asp:Label runat="server" ID="lblMSOffice" Text="?"></asp:Label>
<asp:Label ID="lblMSOfficeMsg" runat="server" Text"" CssClass="HighlitedTextCSS"></asp:Label>
<asp:RadioButtonList runat="server" ID="OfficeInstalledPost16" RepeatDirection="Horizontal" CssClass="ListStyle">
<asp:ListItem Value="0" Text="Yes"></asp:ListItem>
<asp:ListItem Value="1" Text="No"></asp:ListItem>
</asp:RadioButtonList>
<br />
</p>
<p>
<asp:Label runat="server" ID="lblCompFirewall" Text="?"></asp:Label>
<asp:RadioButtonList runat="server" ID="FirewallPost16" RepeatDirection="Horizontal" CssClass="ListStyle">
<asp:ListItem Value="0" Text="Yes"></asp:ListItem>
<asp:ListItem Value="1" Text="No"></asp:ListItem>
</asp:RadioButtonList>
<br />
</p>
<p>
<asp:Label runat="server" ID="lblCompAdminRights" Text=" "></asp:Label>
<asp:RadioButtonList runat="server" ID="AdminRightsPost16" RepeatDirection="Horizontal" CssClass="ListStyle">
<asp:ListItem Value="0" Text="Yes"></asp:ListItem>
<asp:ListItem Value="1" Text="No"></asp:ListItem>
</asp:RadioButtonList>
<br />
</p>
</asp:Panel>
protected void rblLaptopPC_CheckedChanged(object sender, EventArgs e)
{
if (rblLaptopPC.SelectedItem.Text == "Yes")
{
YesPanel.Visible = true;
InternetDetailsPanel.Visible = true;
}
else if (rblLaptopPC.SelectedItem.Text == "No")
{
YesPanel.Visible = false;
InternetDetailsPanel.Visible = false;
}
}