我做好了无刷新二级Dropdownlist联动,但有一个问题一直困扰着我.比如我做了两个页面,default.aspx用来显示目录,update.aspx用来显示和修改具体内容(二级Dropdownlist就放在这个页面).点击default.aspx的某一条记录进入update.aspx显示指定的内容,但是如何让Dropdownlist也显示指定的记录?谢谢!!有源码下载http://www.yuanshengkj.com/bbs/topic.asp?topic_id=1822&forum_id=26 各位请指教,谢谢!!

解决方案 »

  1.   

    用ajaxpro.dll,也可以实现的!!只用一个页面!!
      

  2.   

    ---点击default.aspx的某一条记录进入update.aspx显示指定的内容
    也就是说这个页面是现实具体的单条记录的详细信息?
    ----但是如何让Dropdownlist也显示指定的记录
    这个页面上面有两个 dropdownlist,让这两个ddl现实这条记录所对应的信息?
    如果是这种情况,你需要做如下
    1、在update.aspx这个页面装载后,首先根据数据库信息先将第一个ddl在后台做绑定处理,并且将索引指向相应的item ,这些都可以在后台处理。
    2、处理第二个ddl,既然无刷新的操作你都实现了,这里你需要利用javascript取得第一个ddl的value,并且根据这个value,填充第二个ddl的item,
    ,然后根绝数据库中的这条记录的信息,把ddl定位到相应的索引项上,都需要利用js来完成操作
      

  3.   

    如何将索引指向相应的item ?能不能下载我的源码后具体说说?谢谢!!
      

  4.   

    我设置了:
     if (!IsPostBack)
            {
                BindDc();
                OleDbConnection conn = myConn();
                string id = Request.QueryString["id"];
                OleDbDataAdapter da = new OleDbDataAdapter("select * from info where id=" + id + "", conn);
                DataTable dt = new DataTable(); 
                da.Fill(dt);
                title.Text = dt.Rows[0][2].ToString();
                classid.SelectedValue = dt.Rows[0][4].ToString();
                nclassid.SelectedValue = dt.Rows[0][3].ToString();           
            }
    一级显示正确,二级显示就很乱,怎么回事?
      

  5.   

    二级联动无刷新的DEMO在网上有很多。。去问百度要。。
      

  6.   

    default.aspx与update.aspx有什么关系?应该根据关系去显示不同的二级联动的内容可以传参,根据参数去选择相应的二级联动内容
      

  7.   

               this.DropDownList1.DataSource = bll.GetClassInfo();
                this.DropDownList1.DataTextField = "ClassName";
                this.DropDownList1.DataValueField = "ClassID";
                this.DropDownList1.DataBind();
                this.DropDownList1.Items.Insert(0,classM.ClassName);
      

  8.   

    老兄,不是吧?用.NET,不写代码都可以实现N级联动。
      

  9.   

    官方ajaxhttp://www.asp.net/AJAX/AjaxControlToolkit/Samples/CascadingDropDown/CascadingDropDown.aspx
      

  10.   


    /// <summary>
        /// //数据绑定
        /// </summary>
        private void BindDc()
        {
            //第一个
            string sql = @"select * from webclass where Parentid=0";
            classid.DataSource = getDs(sql);
            classid.DataTextField = "cname";
            classid.DataValueField = "id";
            classid.SelectedIndex = 1;
            classid.DataBind();
            if (classid.DataSource != null) classid.Attributes.Add("onchange", "showNext(this.options[selectedIndex].value,'nclassid');");       
            //可以先判断 DropDownList.SelectedItem.Value
            //第二个
            sql = @"select * from webclass where parentid=" + classid.SelectedItem.Value;
            nclassid.DataSource = getDs(sql);
            
            nclassid.DataTextField = "cname";
            nclassid.DataValueField = "id";
            classid.SelectedIndex = 2;
            nclassid.DataBind();   
        }上面是你UPDate页里的绑定代码,注意你第二个,sql = @"select * from webclass where parentid=" + classid.SelectedItem.Value;你的classid刚绑定,并且没有指定SelectedItem,那classid.SelectedItem.Value就是classid里第一个项的值,所以第二个就乱被。解决方法,你可以考虑在BindDc()方法中接收一个classid的选定值。
      

  11.   

    最好有谁下载我贴的源码并修改好了?救救我啊!!贴上来,或发到我邮箱[email protected],我将万分感激!!
      

  12.   

    sql = @"select * from webclass where parentid=" + classid.SelectedItem.Value;
    调试一下,看看这个语句有没有返回数据。