2016-12-29 80 views
0

還有DropDownListCheckBoxList的形式。
在DropDownList值應取決於選擇改變的CheckBoxList
在DropDownList價值的變化,當您選擇(點擊)元素,
如果取消選中備份不會改變(仍是一樣高)
ASPX:UpdatePanel沒有更新回

Risk: 
<asp:UpdatePanel ID="UpRisk" runat="server" UpdateMode="always"> 
<ContentTemplate> 
    <asp:DropDownList ID="ddlRiskLevel" runat="server" Enabled="false" AutoPostBack="True"> 
    <asp:ListItem Text="Low" Value="1" Selected="True" /> 
    <asp:ListItem Text="High" Value="2" /> 
    </asp:DropDownList> 
</ContentTemplate> 
</asp:UpdatePanel> 

<asp:UpdatePanel ID="UpdatePanel24" runat="server" UpdateMode="always"> 
    <ContentTemplate> 
     Sign: 
     <asp:CheckBoxList ID="chbList_Risks" runat="server"> 
     <asp:ListItem> Sign1 </asp:ListItem> 
     <asp:ListItem> Sign2 </asp:ListItem> 
     <asp:ListItem> Sign3 </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"; 
    } 
} 

回答

2

你是不是做了什麼不選,試試下面

foreach (ListItem item in chbList_Risks.Items) 
    { 
     if (item.Selected) 
     { 
     ddlRiskLevel.SelectedValue = "2"; 
     break; 
     } 
     else 
     { 
     ddlRiskLevel.ClearSelection(); 
     } 
    } 
0

試試這個代碼工作正常

foreach (System.Web.UI.WebControls.ListItem item in chbList_Risks.Items) 
     { 
         if (item .Selected == true) 
         { 
          value = item .Text; 

          if (value == "ABC") 
          { 
           ddlRiskLevel.SelectedValue = "2"; 
          } 
         } 
         else 
         { 
          value = item .Text; 

          if (value == "XYZ") 
          { 
           ddlRiskLevel.ClearSelection(); 
          } 
         } 
     }