1创建三张页面main.aspx、callservershen.aspx、callservershi.aspx
在main.aspx页面中放两个下拉列表
<SELECT id="drp1" style="WIDTH: 112px" onchange="LoadShi();">
<OPTION selected></OPTION>
</SELECT>
<SELECT id="drp2" style="WIDTH: 116px">
<OPTION selected></OPTION>
</SELECT>
然后写javascript
<script>
var xmlhttp=false;
var DrpInfo="";
function GetXmlHttp()

...{
if(window.ActiveXObject)

...{
try

...{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
catch(e)

...{
try

...{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)

...{
}
}
}
return xmlhttp;
}

//************************** 窗 体 加 载 ----- 省 ***************************
function LoadShen()

...{
GetXmlHttp();
var url="callservershen.aspx";
xmlhttp.onreadystatechange=ReadStateShen;
xmlhttp.open("post",url,true);
xmlhttp.send();
}

function ReadStateShen()

...{
var drp1=document.getElementById("drp1");
if(xmlhttp.readyState==1)

...{
DrpInfo="数据加载中..";
drp1.options[0]=new Option(DrpInfo,DrpInfo);
}
if(xmlhttp.reaydState==4)

...{
document.getElementById("drp1").length=0;
drp1.options[0]=new Option("请选择");
var msg=xmlhttp.responseText;
msg=msg.substring(0,msg.length-1);
var msgarray=new Array();
msgarray=msg.split(",");
for(var i=0;i<msgarray.length;i++)

...{
DrpInfo=msgarray[i];
drp1.options[drp1.length]=new Option(DrpInfo,DrpInfo);
}
}
}



//************************** 根 据 选 择 的 省 加 载 市 ***************************
function LoadShi()

...{
GetXmlHttp();
var drp1=document.getElementById("drp1");
var drpInfo=drp1.options[drp1.selectedIndex].text;
var url="callservershi.aspx?shi="+escape(drpInfo);
xmlhttp.onreadystatechange=ReadStateShi;
xmlhttp.open("post",url,true);
xmlhttp.send();
}
function ReadStateShi()

...{
var drp2=document.getElementById("drp2");
if(xmlhttp.readyState==1)

...{
DrpInfo="数据加载中..";
drp2.options[0]=new Option(DrpInfo);
}
if(xmlhttp.readyState==4)

...{
var msg=xmlhttp.responseText;
msg=msg.substring(0,msg.length-1);
var msgarray=new Array();
msgarray=msg.split(",");
for(var i=0;i<msgarray.length;i++)

...{
DrpInfo=msgarray[i];
drp2.options[drp2.length]=new Option(DrpInfo,DrpInfo);
}
}
}
</script>
2在callservershen.aspx页面的page_load写如下代码 (注:查出数据中所有省名)
SqlConnection conn=new SqlConnection("server=.;database=test;uid=aa;pwd=aa");
private void Page_Load(object sender, System.EventArgs e)

...{
if(!this.IsPostBack)

...{
this.Bind();
}
}

private void Bind()

...{
try

...{
string strSql="select distinct(shen) from city";
DataSet ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter(strSql,conn);
da.Fill(ds,"dd");
for(int i=0;i<ds.Tables[0].Rows.Count;i++)

...{
Response.Write(ds.Tables[0].Rows[i][0].ToString()+",");
}
Response.End();
}

catch(Exception)...{}
}
3在callservershi.aspx页面的page_load写如下代码 (注:查出数据中所有市名)
SqlConnection conn=new SqlConnection("server=.;database=test;uid=aa;pwd=aa");
private void Page_Load(object sender, System.EventArgs e)

...{
if(!this.IsPostBack)

...{
this.Bind();
}
}
private void Bind()

...{
try

...{
string str=Request.QueryString["shi"].ToString();
string strSql="select shi from city where shen='"+str+"'";
DataSet ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter(strSql,conn);
da.Fill(ds,"dd");
for(int i=0;i<ds.Tables[0].Rows.Count;i++)

...{
Response.Write(ds.Tables[0].Rows[i][0].ToString()+",");
}
Response.End();
}

catch(Exception )...{}
}
4在main.aspx页面中的<body>标签写onload="LoadShen();"
<body onload="LoadShen();">