2013-07-26 111 views
2

我在,我想用兩個dropdownlist.when我選擇一些價值從dropdown1它影響dropdown2但值綁定第一次沒有得到明確的任何一個可以請幫我想要解除綁定下拉列表?

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     Select sel_obj = new Select(); 
     #region Load Department Name 
     if (departchk.Checked==true && DropDownList1.SelectedIndex==1) 
     { 

      DataTable DT = sel_obj.select_Dept_Name(); 
      recordddl.DataSource = DT; 
      recordddl.DataTextField = "Department_Name"; 
      //departmentDrop.DataValueField = "Department_ID"; 
      recordddl.DataBind(); 
      recordddl.Items.Insert(0, new ListItem("--Select--", "0")); 
     } 
     #endregion 
     #region Load Employee Name 
     else if(departchk.Checked==true && DropDownList1.SelectedIndex==2) 
     { 

      DataTable DS = sel_obj.select_Emp_Name(); 
      recordddl.DataSource = DS; 
      recordddl.DataTextField = "Employee_Name"; 
      recordddl.DataBind(); 
      recordddl.Items.Insert(0, new ListItem("--Select--", "0")); 
     } 
     #endregion 
     #region Load Location Name 
     else if(departchk.Checked==true && DropDownList1.SelectedIndex==3) 
     { 
      DataTable DD2 = sel_obj.select_Location_Name(); 
      recordddl.DataSource = DD2; 
      recordddl.DataTextField = "Location_Name"; 
      recordddl.DataBind(); 
      recordddl.Items.Insert(0, new ListItem("--Select--", "0")); 
     } 
     #endregion 
    } 
+0

我嘗試recordddl.Items.Clear(); recordddl.DataSource = null;對於解除綁定,但不是解除綁定 – SumitG

+0

什麼時候應該清除什麼值? – Alexander

+0

我們需要更多的代碼。 recordddl應該在什麼時候被清除? – Alexander

回答

0

寫這篇創建Web應用程序綁定之前。

DropDownList1.Items.Clear(); 
+0

DropDownList.Items.Clear();無法解除數據 – SumitG

+0

可能會發布確切的錯誤。 – Raghubar

+0

它沒有給出任何錯誤,但它不是解除綁定數據 – SumitG

0

你可以在「解除綁定」下拉通過設置DataSource爲空,然後調用的DataBind。

+2

recordddl.DataSource = null; recordddl.DataBind();但什麼也沒有發生 – SumitG

0

有兩件事情

下拉列表應該runat='server'

    你想重置 selectedindex =0.
  1. 清除
  2. 從下拉列表 收集物品,然後使用dropdownlist.items.Clear();
3

這是因爲簡單如DropDownList1.Items.Clear();

Check a complete example here

+0

仍然有問題,然後用完整的頁面代碼和標記更新你的代碼。 –

+0

它適用於我,謝謝 –

0
<asp:DropDownList ID="ddlcustomer" runat ="server" OnSelectedIndexChanged="ddlcustomer_SelectedIndexChanged" AutoPostBack ="true" ></asp:DropDownList> 

試試這個代碼

1

我在SharePoint 2013(使用.NET 4.5)有同樣的問題,並發現我有我之前設置所有這些

ddl.Items.Clear(); 
ddl.SelectedIndex = -1; 
ddl.SelectedValue = null; 

能夠做到這一點重新綁定我的ddl

ddl.DataSource = list; 
ddl.DataTextField = displayField; 
ddl.DataValueField = valueField; 
ddl.DataBind(); 

沒有得到錯誤「DDL擁有的SelectedValue,因爲它不在項目列表中存在哪些無效......」

0

當你將你的解除綁定然後下拉列表只分配

if (ddCountryName.SelectedItem != null) 
    LoadDivisionStateName(); 
else 
    ddDivisionStateName.Items.Clear();