UpdatePanel не обновляется обратно

379
31 декабря 2016, 13:35

В форме есть DropDownList и CheckBoxList
Значение в DropDownList должен меняться в зависимости от выбора CheckBoxList
Поместил оба элемента в UpdatePanel.
Значение в DropDownList меняется при выборе(клике) элемента, а если снять отметку обратно не меняется(остается как высокий)
aspx:

 Риск:
<asp:UpdatePanel ID="UpRisk" runat="server" UpdateMode="always">
 <ContentTemplate>
   <asp:DropDownList ID="ddlRiskLevel" runat="server" Enabled="false" AutoPostBack="True">
     <asp:ListItem Text="Низкий" Value="1" Selected="True" />
     <asp:ListItem Text="Высокий" Value="2" />
   </asp:DropDownList>
 </ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel24" runat="server" UpdateMode="always">
   <ContentTemplate>
         Признаки:
      <asp:CheckBoxList ID="chbList_Risks" runat="server">
        <asp:ListItem> признак1 </asp:ListItem>
        <asp:ListItem> признак2 </asp:ListItem>
        <asp:ListItem> признак3 </asp:ListItem>
      </asp:CheckBoxList>
    </ContentTemplate>
</asp:UpdatePanel>  

Код:

protected void Page_Load(object sender, EventArgs e)
{
   foreach (ListItem item in chbList_Risks.Items)
   {
       if (item.Selected)
        ddlRiskLevel.SelectedValue = "2";
   }
}
Answer 1

Если я правильно понял вопрос, вариант "высокий" должен выбираться, если отмечен хотя бы один чекбокс, иначе выбирается "низкий":

protected void Page_Load(object sender, EventArgs e)
{
    ddlRiskLevel.SelectedValue = "1";
    foreach (ListItem item in chbList_Risks.Items) {
        if (item.Selected)
            ddlRiskLevel.SelectedValue = "2";
    }
}

Для элемента chbList_Risks также установите свойство AutoPostBack в True:

<asp:CheckBoxList ID="chbList_Risks" runat="server" AutoPostBack="True">
READ ALSO
Telegram Bot Api: упоминание пользователей (c#)

Telegram Bot Api: упоминание пользователей (c#)

Каким образом бот может упоминать пользователей, у которых нет никнейма?

515
Получить описание для SAML Authentication Context Class URI

Получить описание для SAML Authentication Context Class URI

Создаю SecurityToken с помощью Saml2SecurityToken следующим образом:

422
Чтение после конца потока невозможно. C#

Чтение после конца потока невозможно. C#

Всем доброго времени суток, столкнулся с проблемой

615
AngularJS + ASP .Net Web Api. В экшен не приходят данные

AngularJS + ASP .Net Web Api. В экшен не приходят данные

Не могу понять почему в экшен не приходят данныеКод JS:

468