将需要触发SelectedIndexChanged事件的DDL属性 AppendDataBoundItems设置为true,内容需要根据变化的DDL属性 AppendDataBoundItems设置为false即可.

解决方案 »

  1.   

    我看这段代码,好像两个DropDownList没有任何的关系吧,如果DDL1变化后DDL2会清空,可能和代码其它地方有关系
    1、建议仔细检查一下其它与这两个DropDownList相关的代码。
    2、检查一下Page_Load的代码。
    3、检查一下Html,看看两个DropDownList的事件是否指定错误了。
    4、最好的方法还是设置断点跟踪调试。
      

  2.   

    我看这段代码,好像两个DropDownList没有任何的关系吧,如果DDL1变化后DDL2会清空,可能和代码其它地方有关系 
    protected void ddl_yynl2_SelectedIndexChanged(object sender, EventArgs e)
        {            String cZwcd = ddl_yynl2.Text.Trim();
                if (cZwcd != "不限")
                {
                    ddl_zwcd1.Items.Clear();  //此处是ddl_zwcd2吧
                    String sql = "select parameter from parameter where cBelong = 'YUDJ'";
                    DataSet ds = bc.GetDataSet(sql, "parameter");
                    DataView source = new DataView(ds.Tables[0]);
                    ddl_zwcd2.DataTextField = "parameter";
                    ddl_zwcd2.DataValueField = "parameter";
                    ddl_zwcd2.DataSource = source;
                    ddl_zwcd2.DataBind();            }
                else
                {
                    ddl_zwcd2.Items.Clear();
                    ddl_zwcd2.Items.Add("不限");            }
               }