2014-09-02 44 views
0

当我点击另一个下拉列表中的值时,我正在填充下拉列表,例如国家城市的关系,但问题是,它加载相关值upo点击,但如果我改变父母下拉值,然后它附加旧值,例如如果我选择美国在父母下拉,然后它加载城市,即纽约,华盛顿,拉斯维加斯等,但如果我点击巴基斯坦然后它加载巴基斯坦城市加上美国城市,如追加,为什么?为什么在每次回传时都会保留旧值?

代码:

protected void drpAgainstDistrict_SelectedIndexChanged(object sender, EventArgs e)//against district drop down selected index changed event 
    { 
     if (txtSelectedID.Text != "") 
     { 
      MyComplaints obj = new MyComplaints(); 
      int ID = Convert.ToInt32(drpAgainstDistrict.SelectedValue); 
      DataSet ds = obj.SelectHomePoliceStaions(ID); 

      drpAgainstPoliceStation.DataTextField = "PsName"; 
      drpAgainstPoliceStation.DataValueField = "ID"; 
      drpAgainstPoliceStation.DataSource = ds.Tables[0]; 
      drpAgainstPoliceStation.DataBind(); 
      HiddenFieldShowHideButtons.Value = "True"; 
     } 
     else 
     { 
      MyComplaints obj = new MyComplaints(); 
      int ID = Convert.ToInt32(drpAgainstDistrict.SelectedValue); 
      DataSet ds = obj.SelectHomePoliceStaions(ID); 

      drpAgainstPoliceStation.DataTextField = "PsName"; 
      drpAgainstPoliceStation.DataValueField = "ID"; 
      drpAgainstPoliceStation.DataSource = ds.Tables[0]; 
      drpAgainstPoliceStation.DataBind(); 
     } 

    } 

的.aspx

<label>Relevant District</label> 
<asp:DropDownList ID="drpAgainstDistrict" runat="server" 
        Width="178px" AutoPostBack="True" 
        OnSelectedIndexChanged="drpAgainstDistrict_SelectedIndexChanged"> 
</asp:DropDownList> 

<label>Relevant Police Station</label> 
<asp:DropDownList ID="drpAgainstPoliceStation" runat="server" 
        Width="178px" AppendDataBoundItems="true"> 
    <asp:ListItem Text="-Select-" Value="-1"></asp:ListItem> 
</asp:DropDownList> 

回答

1

您确实有AppendDataBoundItems="true"指定。文档指出这个“指示列表项是否在数据绑定之前被清除”,在你的情况下它会追加列表项而不先清除列表。

来源:ListControl.AppendDataBoundItems Property

+0

那我该怎么办? – user3518032 2014-09-02 07:48:08

+0

没有什么可做的。你问为什么附加物品,我指出附加物品的属性。如果您不希望添加它们,请将其删除或将其设置为false。 – sisve 2014-09-02 07:51:04

+0

完成,工作,非常感谢:) – user3518032 2014-09-02 07:56:04

1

因为ViewState。只需清除Dropdownlist。 yourDropdownList.Items.Clear();

+0

数据绑定后的()? – user3518032 2014-09-02 07:42:36

0

我的建议是用UpdatePanel打包级联下拉列表。

0

因为AppendDataBoundItems = “真” 改变AppendDataBoundItems = “假”

相关问题