看过一些网上介绍的.但本人刚学.不太懂,希望大家帮帮我:
--------------------------------
Manager.RelationsList();//读第一个下拉框的值的方法
Manager.RelationsList(ID);//读第二个下拉框的值的方法
//第一个下拉框的绑定

DataSet myds1 = Manager.RelationsList();
this.DropDownList1.DataSource = myds1.Tables[0];
this.DropDownList1.DataBind();
}-----------------------------------
我要怎么写实现无刷新效果,第二个是根据第一个选择的ID传到
我自己写的Manager.RelationsList(ID);方法里读出数据的
分数不多,希望大家帮帮忙,解决就结!急哈,

解决方案 »

  1.   

       <script language="javascript" type="text/javascript">
        var xmlHttp;
    function createXMLHttpRequest()
    {
         if(window.ActiveXObject)
         {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
         }
         else if(window.XMLHttpRequest)
         {
            xmlHttp=new XMLHttpRequest();
         }
    }
        
        ///以下是获取类别
        function GetEndSort()
        {
            var subSortID=document.getElementById("ddlSubSort").value;
              createXMLHttpRequest();
         var queryString="../CommonWeb/GetEndSort.aspx?SubSortID=" + subSortID + "&timeStamp=" + new Date().getTime();
         xmlHttp.onreadystatechange=SubSortChange;
         xmlHttp.open("GET",queryString,true);
         xmlHttp.send(null);
        }    
    function SubSortChange()
    {
        if(xmlHttp.readyState==4)
        {
            if(xmlHttp.status==200)
            {
                var str=xmlHttp.responseText;
                 var t1=str.split(';');
        document.getElementById("ddlEndSort").options.length=0;
        
            var optTitle=document.createElement("OPTION");
             optTitle.value="-1";
             optTitle.innerHTML="不再选择";
             document.getElementById("ddlEndSort").appendChild(optTitle);    
             
        for(var i=0;i<t1.length-1;i++)
        {  
            var t2=t1[i].split(',');        
            
            var optEndSort=document.createElement("OPTION");
             optEndSort.value=t2[0];
             optEndSort.innerHTML=t2[1];
             document.getElementById("ddlEndSort").appendChild(optEndSort);    
             
        }
            }
        }
    }
        </script>-------------------------------------------------                                      <asp:DropDownList ID="ddlSubSort" runat="server" onchange="GetEndSort()">
                                          </asp:DropDownList>
                                          <asp:DropDownList ID="ddlEndSort" runat="server">
                                          </asp:DropDownList>
      

  2.   

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Text;
    using System.Data.SqlClient;public partial class CommonWeb_GetEndSort : System.Web.UI.Page
    {
        UserTable ut = new UserTable();
        protected void Page_Load(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder("");
            if (Request.QueryString["subSortID"] != null)
            {
                SqlDataReader myRead = ut.GetDataReader("Select SortID,SortName from Sort where ParentID=" + Request.QueryString["subSortID"].ToString());
                while (myRead.Read())
                {
                    sb.Append(myRead["SortID"].ToString() + "," + myRead["SortName"].ToString() + ";");
                }
                myRead.Close();
            }
            Response.Write(sb.ToString());
            Response.End();
        }
    }
      

  3.   

    <title>省市县三级联动</title>
        <script type="text/javascript">
            function ddl_getcity(obj)
            {
                var List=document.getElementById("ddlProvince");
                var index=List.selectedIndex;
                var pro=List.options[index].value;
                Province.GetCity(pro,GetCity_CallBack);
            }
            function GetCity_CallBack(result)
            {
                var ds=result.value;
                if(ds !=null && typeof(ds)=="object" && ds.Tables !=null)
                {
                    var List=document.getElementById("ddlCity");
                    for(var i=0;i<List.options.length-1;i++)
                    {
                        List.options.remove(i);
                        
                    }
                    for(var i=0;i<ds.Tables[0].Rows.length;i++)
                    {
                        List.options.add(new Option(ds.Tables[0].Rows[i].City.toString(),ds.Tables[0].Rows[i].CityID.toString()));
                        
                    }
                }
                else 
                { 
                            alert("Error:" + result.request.responseText); 
                        }
            }
            function ddl_getarea(obj)
                    {
                        var list=document.getElementById("ddlCity");
                        var index = list.selectedIndex;
                        var pValue = list.options[index].value;
                        //alert(pValue);
                        Province.GetArea(pValue, GetArea_CallBack);
                    }
                    //县的回调函数
                    function GetArea_CallBack(response){
                        var ds = response.value;
                        if(ds != null && typeof(ds) == "object" && ds.Tables != null){
                            var list=document.getElementById("ddlArea");
                            for (var i=list.options.length-1;i>=0;i--)
                            {
                                list.options.remove(i);                        
                            }
                            for(var i=0; i<ds.Tables[0].Rows.length; i++)
                            {
                                list.options.add(new Option(ds.Tables[0].Rows[i].aera.toString(),ds.Tables[0].Rows[i].areaID.toString()))        
                            }
                        }
                        else { 
                            alert("Error:" + response.request.responseText); 
                        }
                    }                </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="ddlProvince" runat="server">
            </asp:DropDownList>
            <asp:DropDownList ID="ddlCity" runat="server">
            </asp:DropDownList>
            <asp:DropDownList ID="ddlArea" runat="server">
            </asp:DropDownList><title>省市县三级联动</title>
        <script type="text/javascript">
            function ddl_getcity(obj)
            {
                var List=document.getElementById("ddlProvince");
                var index=List.selectedIndex;
                var pro=List.options[index].value;
                Province.GetCity(pro,GetCity_CallBack);
            }
            function GetCity_CallBack(result)
            {
                var ds=result.value;
                if(ds !=null && typeof(ds)=="object" && ds.Tables !=null)
                {
                    var List=document.getElementById("ddlCity");
                    for(var i=0;i<List.options.length-1;i++)
                    {
                        List.options.remove(i);
                        
                    }
                    for(var i=0;i<ds.Tables[0].Rows.length;i++)
                    {
                        List.options.add(new Option(ds.Tables[0].Rows[i].City.toString(),ds.Tables[0].Rows[i].CityID.toString()));
                        
                    }
                }
                else 
                { 
                            alert("Error:" + result.request.responseText); 
                        }
            }
            function ddl_getarea(obj)
                    {
                        var list=document.getElementById("ddlCity");
                        var index = list.selectedIndex;
                        var pValue = list.options[index].value;
                        //alert(pValue);
                        Province.GetArea(pValue, GetArea_CallBack);
                    }
                    //县的回调函数
                    function GetArea_CallBack(response){
                        var ds = response.value;
                        if(ds != null && typeof(ds) == "object" && ds.Tables != null){
                            var list=document.getElementById("ddlArea");
                            for (var i=list.options.length-1;i>=0;i--)
                            {
                                list.options.remove(i);                        
                            }
                            for(var i=0; i<ds.Tables[0].Rows.length; i++)
                            {
                                list.options.add(new Option(ds.Tables[0].Rows[i].aera.toString(),ds.Tables[0].Rows[i].areaID.toString()))        
                            }
                        }
                        else { 
                            alert("Error:" + response.request.responseText); 
                        }
                    }                </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="ddlProvince" runat="server">
            </asp:DropDownList>
            <asp:DropDownList ID="ddlCity" runat="server">
            </asp:DropDownList>
            <asp:DropDownList ID="ddlArea" runat="server">
            </asp:DropDownList>
      

  4.   

    上面这些代码我网上搜到也很多.我看的不是很明白才来提问一下哈.~.~
    希望能结合我上面的帮我稍稍改动一下,二级联动就行了.........................
    Manager.RelationsList();//读第一个下拉框的值的方法 
    Manager.RelationsList(ID);//读第二个下拉框的值的方法 
    ...........................
    上两个方法是我写的读取数据的方法,帮帮忙,帮我解决一下.或者注释多点的细点的例子给个
    现在在上班,没什么时间一个个试过去,晚上才能试了,希望能给个简单好点的解决方法
    再次谢谢哈
      

  5.   

    楼上的说的道理我明白,但我做了半天多了.用AJAX已经实现效果,但选择提交后页面出现回调错误,查了很多方法,基本无法解决,我朋友叫我使用XML读取,这种方式会合理些,我想试一下,但本人愚昧,网上的一时理解不了,希望高手能指点一下,做程序感觉有时候自己怎么想也想不出,但有人提点一下可能就是一句代码的问题,返回来看就感觉很简单了,
    所以希望能指点一下,
      

  6.   

    据我所知,如果在.net中实现这个功能,可以简单一点用客户端回调就可以搞定了.
    还可以使用asp.net ajax框架.
      

  7.   

    顶楼上的楼上,NET是够强悍..
      

  8.   

    asp.net ajax的CascadingDropDown控件就是这个作用,用它吧,我用它做过三级联动
      

  9.   

    http://blog.csdn.net/wxg22526451/archive/2008/04/24/2323244.aspx
      

  10.   

    var pro=xmldoc.selectSingleNode("//addrss/proc[@name='"++"']");
    var child=proNode.childNodes.length;
    for(var i=0;i<child;i++){
    var cityname=
    }