当前位置:编程学习 > C#/ASP.NET >>

在一个窗体中同时存在两个DropDownList 的selectecIndexChanged事件,如果让一个DDL发生变化时候,另一个DDL的数据不变

    protected void ddl_yynl1_SelectedIndexChanged(object sender, EventArgs e)
    {
            String cZwcd = ddl_yynl1.Text.Trim();
            if (cZwcd != "不限")
            {
                ddl_zwcd1.Items.Clear();
                String sql = "select parameter from parameter where cBelong = 'YUDJ'";
                DataSet ds = bc.GetDataSet(sql, "parameter");
                DataView source = new DataView(ds.Tables[0]);
                ddl_zwcd1.DataTextField = "parameter";
                ddl_zwcd1.DataValueField = "parameter";
                ddl_zwcd1.DataSource = source;
                ddl_zwcd1.DataBind();

            }
            else
            {
                ddl_zwcd1.Items.Clear();
                ddl_zwcd1.Items.Add("不限");

            }

    }
    protected void ddl_yynl2_SelectedIndexChanged(object sender, EventArgs e)
    {

            String cZwcd = ddl_yynl2.Text.Trim();
            if (cZwcd != "不限")
            {
                ddl_zwcd1.Items.Clear();
                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("不限");

            }
        
    }



这样的代码会出问题,DDL1发生SelectedIndexChanged事件后,DDL2会清空. --------------------编程问答-------------------- 将需要触发SelectedIndexChanged事件的DDL属性 AppendDataBoundItems设置为true,内容需要根据变化的DDL属性 AppendDataBoundItems设置为false即可. --------------------编程问答-------------------- 我看这段代码,好像两个DropDownList没有任何的关系吧,如果DDL1变化后DDL2会清空,可能和代码其它地方有关系
1、建议仔细检查一下其它与这两个DropDownList相关的代码。
2、检查一下Page_Load的代码。
3、检查一下Html,看看两个DropDownList的事件是否指定错误了。
4、最好的方法还是设置断点跟踪调试。 --------------------编程问答-------------------- 我看这段代码,好像两个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("不限");

            }
           } 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,