2014-01-23 52 views
1

我有一個帶有兩個下拉列表的Web表單。啓用和禁用下拉列表

  1. 的第一個下拉列表中包含2個值&
  2. 第二下拉列表中包含3個值。

我的目標是,當我選擇了1st drop down list1st value,該2nd dropdownlist不應該是visible,但是當我選擇第一dropdownlist2nd value,第二dropdownlist應該appear

+0

您的標題說,啓用和禁用,但在人體內是可見的?您想做什麼?? –

回答

2

如果你想使禁用您可以使用此代碼

<asp:DropDownList ID="ddl1" runat="server" AppendDataBoundItems="true" AutoPostBack="true" Width="100%"> 
        <asp:ListItem Text="" ></asp:ListItem> 
        <asp:ListItem Text="Value 1" Value="1"></asp:ListItem> 
        <asp:ListItem Text="Value 2" Value="2"></asp:ListItem> 
       </asp:DropDownList> 

您需要設置的AutoPostBack = 「真」,並在的SelectedIndexChanged寫這段代碼

protected void ddl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

      try 
      { 
       if (ddl1.SelectedValue == "1") 
      { 
       ddl2.Enabled = false; 
       //ddl2.Visible = false; 
      } 
      else 
      { 
       ddl2.Enabled = true; 
       //ddl2.Visible = true; 
      } 
      } 
      catch (Exception ex) 
      { 
       string b= ex.Message; 
      } 

    } 

For VISIBLE * 啓用/禁用 *使用註釋行和評論其他線路

希望這有助於

快樂編碼

2

您可以通過使用JQuery來完成。示例代碼如下。

$("#DropDownList1").change(function(){ 
    indx = $("#DropDownList1 option:selected").index(); 
    if(indx==1) 
    { 
     $("#DropDownList2").hide(); 
    } 
    else 
    { 
     $("#DropDownList2").show(); 
    } 
}) 

不要忘了添加jquery插件。

3

你需要設置你的第一個下拉列表可以真正的將AutoPostBack屬性並添加OnSelectedIndexChanged,事件處理程序

<asp:DropDown id="FirstList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="FirstList_Changed"></asp:DropDown> 

在你的事件處理程序,您可以檢查所選擇的指數和採取相應的行動。

protected void FirstList_Changed(object sender, EventArgs e) { 
    if(FirstList.SelectedIndex == 0) { 
     SecondList.Visible = false; 
    } else { 
     SecondList.Visible = true; 
    } 
} 

但是,您也可以對JavaScript執行相同的操作(請參閱BPX的解決方案)。