проверка и автоответчик - PullRequest
       4

проверка и автоответчик

0 голосов
/ 04 апреля 2011

Моя страница имеет элемент управления мастера, и этот мастер имеет несколько элементов управления.У меня есть список переключателей с двумя элементами списка (ДА и НЕТ).Этот список переключателей имеет автопост обратно в значение 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;
    }
}

1 Ответ

0 голосов
/ 04 апреля 2011

Вы можете предпочесть отключить проверку на основе java-скриптов на стороне клиента при отображении панели и использовать только проверку на стороне сервера, чтобы справиться с таким сложным сценарием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...