數據庫爲國家統計局最新的行政區劃,自己又加入了香港、臺灣、澳門的行政區劃,需要的朋友可直接下載使用。
數據庫下載
/Files/netshuai/area.rar
aspx頁面代碼
<% =strAreaData %>
<script language = "JavaScript" type="text/javascript">
function changearea1()
{
document.all("<% =Ddl_AreaTwo.ClientID %>").length = 0;
document.all("<% =Ddl_AreaTwo.ClientID %>").options[0] = new Option('選擇城市','0');
document.all("<% =Ddl_AreaThree.ClientID %>").length = 0;
document.all("<% =Ddl_AreaThree.ClientID %>").options[0] = new Option('選擇城市','0');
var oneid=document.all("<% =Ddl_AreaOne.ClientID %>").value;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == oneid)
{
document.all("<% =Ddl_AreaTwo.ClientID %>").options[document.all("<% =Ddl_AreaTwo.ClientID %>").length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
function changearea2()
{
document.all("<% =Ddl_AreaThree.ClientID %>").length = 0;
document.all("<% =Ddl_AreaThree.ClientID %>").options[0] = new Option('選擇城市','0');
var twoid=document.all("<% =Ddl_AreaTwo.ClientID %>").value;
var oneid=document.all("<% =Ddl_AreaOne.ClientID %>").value;
var i;
for (i=0;i < onecount1; i++)
{
if (subcat1[i][2] == twoid)
{
if (subcat1[i][1] == oneid)
{
document.all("<% =Ddl_AreaThree.ClientID %>").options[document.all("<% =Ddl_AreaThree.ClientID %>").length] = new Option(subcat1[i][0], subcat1[i][3]);
}
}
}
}
</script>
<asp:DropDownList ID="Ddl_AreaOne" runat="server" AppendDataBoundItems="True">
<asp:ListItem Value="0">請選擇</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="Ddl_AreaTwo" runat="server" >
<asp:ListItem Value="0">請選擇</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="Ddl_AreaThree" runat="server" >
<asp:ListItem Value="0">請選擇</asp:ListItem>
</asp:DropDownList>
cs頁面代碼
protected void Page_Load(object sender, EventArgs e)
{
Ddl_AreaOne.Attributes.Add("onchange", "changearea1()");
Ddl_AreaTwo.Attributes.Add("onchange", "changearea2()");
string strSQL;
strSQL = "select * from nts_area where oneid<>0 and twoid=0 and threeid=0 order by sort";
Ddl_AreaOne.DataSource = DataClass.GetDataReader(strSQL);
Ddl_AreaOne.DataTextField = "areaname";
Ddl_AreaOne.DataValueField = "oneid";
Ddl_AreaOne.DataBind();
strAreaData = "<script language = 'JavaScript' type='text/javascript'>var onecount;onecount=0;subcat = new Array();";
strSQL = "select * from nts_area where oneid<>0 and twoid<>0 and threeid=0 order by sort";
string ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source='數據庫路徑'";
OleDbConnection cnn = new OleDbConnection(ConnectionString);
cnn.Open();
OleDbCommand cmd=new OleDbCommand(sql, cnn);
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
int i1 = 0;
while (dr.Read())
{
strAreaData += "subcat[" + i1.ToString() + "] = new Array('" + dr["areaname"].ToString() + "','" + dr["oneid"].ToString() + "','" + dr["twoid"].ToString() + "');";
i1++;
}
strAreaData += "onecount=" + i1.ToString() + ";";
//添加三級地區
strAreaData += "var onecount1;onecount1=0;subcat1 = new Array();";
strSQL = "select * from nts_area where oneid<>0 and twoid<>0 and threeid<>0 order by sort";
cnn.Open();
cmd.CommandText = strSQL;
cmd.Connection = cnn;
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
int n1 = 0;
while (dr.Read())
{
strAreaData += "subcat1[" + n1.ToString() + "] = new Array('" + dr["areaname"].ToString() + "','" + dr["oneid"].ToString() + "','" + dr["twoid"].ToString() + "','" + dr["threeid"].ToString() + "');"; n1++;
}
dr.Close();
strAreaData += "onecount1=" + n1.ToString() + ";</script>";
}
http://www.cnblogs.com/netshuai/archive/2007/09/13/892272.html