test.aspx.cs file:
protected void DdlistProvince_SelectedIndexChanged(object sender, EventArgs e)
{
if (IsPostBack == true)
{
this.DdlistCity.Enabled = true;
this.DdlistCountry.Enabled = false;
this.DdlistCountry.Items.Insert(0, "请选择");
this.XmlDataSourceCity.XPath = "Gov/State/Province[@PostalCode=" + this.DdlistProvince.SelectedValue + "]/City";
this.DdlistCity.DataSourceID = "XmlDataSourceCity";
this.DdlistCity.DataTextField = "Name";
this.DdlistCity.DataValueField = "PostalCode";
}
else
{
this.DdlistCountry.Items.Clear();
}
}
protected void DdlistCity_SelectedIndexChanged(object sender, EventArgs e)
{
if (IsPostBack == true)
{
this.DdlistCountry.Enabled = true;
this.XmlDataSourceCountry.XPath = "Gov/State/Province/City[@PostalCode=" + this.DdlistCity.SelectedValue + "]/County";
this.DdlistCountry.DataSourceID = "XmlDataSourceCountry";
this.DdlistCountry.DataTextField = "Name";
this.DdlistCountry.DataValueField = "PostalCode";
}
}
protected void DdlistState_SelectedIndexChanged(object sender, EventArgs e)
{
//[@PostalCode=" + this.DdlistState.SelectedValue + "]
if (IsPostBack == true)
{
this.DdlistCountry.Enabled = false;
this.DdlistCountry.Items.Insert(0, "请选择");
this.DdlistCity.Enabled = false;
this.XmlDataSourceProvince.XPath = "Gov/State[@PostalCode=" + this.DdlistState.SelectedValue + "]/Province";
this.DdlistProvince.DataSourceID = "XmlDataSourceProvince";
this.DdlistProvince.DataTextField = "Name";
this.DdlistProvince.DataValueField = "PostalCode";
}
}
test.aspx file:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>区域代码测试</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="国家"></asp:Label>
<asp:DropDownList ID="DdlistState" runat="server" AutoPostBack="True" DataSourceID="XmlDataSourceState" DataTextField="Name" DataValueField="PostalCode" OnSelectedIndexChanged="DdlistState_SelectedIndexChanged">
</asp:DropDownList>
<asp:Label ID="Label2" runat="server" Text="省"></asp:Label>
<asp:DropDownList ID="DdlistProvince" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DdlistProvince_SelectedIndexChanged">
</asp:DropDownList>
<asp:Label ID="Label3" runat="server" Text="市"></asp:Label>
<asp:DropDownList ID="DdlistCity" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DdlistCity_SelectedIndexChanged">
</asp:DropDownList>
<asp:Label ID="Label4" runat="server" Text="区"></asp:Label>
<asp:DropDownList ID="DdlistCountry" runat="server" AutoPostBack="True">
</asp:DropDownList>
<asp:XmlDataSource ID="XmlDataSourceState" runat="server" DataFile="~/state.xml"
XPath="Gov/State"></asp:XmlDataSource>
</div>
<asp:XmlDataSource ID="XmlDataSourceProvince" runat="server" DataFile="~/state.xml"
XPath="Gov/State/Province"></asp:XmlDataSource>
<asp:XmlDataSource ID="XmlDataSourceCity" runat="server" DataFile="~/state.xml" XPath="Gov/State/Province/City">
</asp:XmlDataSource>
<asp:XmlDataSource ID="XmlDataSourceCountry" runat="server" DataFile="~/state.xml"
XPath="Gov/State/Province/City/County">
</asp:XmlDataSource>
</form>
</body>
</html>
xml file:
<Gov>
<State Name="中国" PostalCode="100">
<Province Name="北京市" PostalCode="110000">
<City Name="市辖区" PostalCode="110100">
<County Name="东城区" PostalCode="110101"/>
<County Name="西城区" PostalCode="110102"/>
<County Name="崇文区" PostalCode="110103"/>
<County Name="宣武区" PostalCode="110104"/>
<County Name="朝阳区" PostalCode="110105"/>
<County Name="丰台区" PostalCode="110106"/>
<County Name="石景山区" PostalCode="110107"/>
<County Name="海淀区" PostalCode="110108"/>
<County Name="门头沟区" PostalCode="110109"/>
<County Name="房山区" PostalCode="110111"/>
<County Name="通州区" PostalCode="110112"/>
<County Name="顺义区" PostalCode="110113"/>
<County Name="昌平区" PostalCode="110114"/>
<County Name="大兴区" PostalCode="110115"/>
<County Name="怀柔区" PostalCode="110116"/>
<County Name="平谷区" PostalCode="110117"/>
</City>
<City Name="县" PostalCode="110200">
<County Name="密云县" PostalCode="110228"/>
<County Name="延庆县" PostalCode="110229"/>
</City>
</Province>
<Province Name="天津市" PostalCode="120000">
<City Name="市辖区" PostalCode="120100">
<County Name="和平区" PostalCode="120101"/>
<County Name="河东区" PostalCode="120102"/>
<County Name="河西区" PostalCode="120103"/>
<County Name="南开区" PostalCode="120104"/>
<County Name="河北区" PostalCode="120105"/>
<County Name="红桥区" PostalCode="120106"/>
<County Name="塘沽区" PostalCode="120107"/>
<County Name="汉沽区" PostalCode="120108"/>
<County Name="大港区" PostalCode="120109"/>
<County Name="东丽区" PostalCode="120110"/>
<County Name="西青区" PostalCode="120111"/>
<County Name="津南区" PostalCode="120112"/>
<County Name="北辰区" PostalCode="120113"/>
<County Name="武清区" PostalCode="120114"/>
<County Name="宝坻区" PostalCode="120115"/>
</City>
<City Name="县" PostalCode="120200">
<County Name="宁河县" PostalCode="120221"/>
<County Name="静海县" PostalCode="120223"/>
<County Name="蓟 县" PostalCode="120225"/>
</City>
</Province>
</State>
<State Name="美国" PostalCode="200">
<Province Name="纽约州" PostalCode="1">
<City Name="纽约市" PostalCode="11">
<County Name="通用区" PostalCode="111"/>
<County Name="HP区" PostalCode="112"/>
</City>
<City Name="洛杉矶市" PostalCode="12">
<County Name="谷歌区" PostalCode="121"/>
<County Name="IBM" PostalCode="122"/>
</City>
</Province>
<Province Name="华盛顿特区" PostalCode="12">
<City Name="金山市" PostalCode="121">
<County Name="唐人街" PostalCode="1211"/>
<County Name="华人区" PostalCode="1212"/>
</City>
<City Name="卡拉奇市" PostalCode="122">
<County Name="硅谷区" PostalCode="1221"/>
<County Name="雅虎区" PostalCode="1222"/>
</City>
</Province>
</State>
<State Name="英国" PostalCode="300">
<Province Name="英格兰" PostalCode="2">
<City Name="剑桥市" PostalCode="21">
<County Name="东区" PostalCode="211"/>
<County Name="西区" PostalCode="212"/>
</City>
<City Name="牛津市" PostalCode="22">
<County Name="南区" PostalCode="221"/>
<County Name="北区" PostalCode="222"/>
</City>
</Province>
<Province Name="苏格兰" PostalCode="22">
<City Name="伦敦市" PostalCode="221">
<County Name="A区" PostalCode="2211"/>
<County Name="B区" PostalCode="2212"/>
</City>
<City Name="爱丁堡市" PostalCode="222">
<County Name="C区" PostalCode="2221"/>
<County Name="D区" PostalCode="2222"/>
</City>
</Province>
</State>
</Gov>
protected void DdlistProvince_SelectedIndexChanged(object sender, EventArgs e)
{
if (IsPostBack == true)
{
this.DdlistCity.Enabled = true;
this.DdlistCountry.Enabled = false;
this.DdlistCountry.Items.Insert(0, "请选择");
this.XmlDataSourceCity.XPath = "Gov/State/Province[@PostalCode=" + this.DdlistProvince.SelectedValue + "]/City";
this.DdlistCity.DataSourceID = "XmlDataSourceCity";
this.DdlistCity.DataTextField = "Name";
this.DdlistCity.DataValueField = "PostalCode";
}
else
{
this.DdlistCountry.Items.Clear();
}
}
protected void DdlistCity_SelectedIndexChanged(object sender, EventArgs e)
{
if (IsPostBack == true)
{
this.DdlistCountry.Enabled = true;
this.XmlDataSourceCountry.XPath = "Gov/State/Province/City[@PostalCode=" + this.DdlistCity.SelectedValue + "]/County";
this.DdlistCountry.DataSourceID = "XmlDataSourceCountry";
this.DdlistCountry.DataTextField = "Name";
this.DdlistCountry.DataValueField = "PostalCode";
}
}
protected void DdlistState_SelectedIndexChanged(object sender, EventArgs e)
{
//[@PostalCode=" + this.DdlistState.SelectedValue + "]
if (IsPostBack == true)
{
this.DdlistCountry.Enabled = false;
this.DdlistCountry.Items.Insert(0, "请选择");
this.DdlistCity.Enabled = false;
this.XmlDataSourceProvince.XPath = "Gov/State[@PostalCode=" + this.DdlistState.SelectedValue + "]/Province";
this.DdlistProvince.DataSourceID = "XmlDataSourceProvince";
this.DdlistProvince.DataTextField = "Name";
this.DdlistProvince.DataValueField = "PostalCode";
}
}
test.aspx file:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>区域代码测试</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="国家"></asp:Label>
<asp:DropDownList ID="DdlistState" runat="server" AutoPostBack="True" DataSourceID="XmlDataSourceState" DataTextField="Name" DataValueField="PostalCode" OnSelectedIndexChanged="DdlistState_SelectedIndexChanged">
</asp:DropDownList>
<asp:Label ID="Label2" runat="server" Text="省"></asp:Label>
<asp:DropDownList ID="DdlistProvince" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DdlistProvince_SelectedIndexChanged">
</asp:DropDownList>
<asp:Label ID="Label3" runat="server" Text="市"></asp:Label>
<asp:DropDownList ID="DdlistCity" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DdlistCity_SelectedIndexChanged">
</asp:DropDownList>
<asp:Label ID="Label4" runat="server" Text="区"></asp:Label>
<asp:DropDownList ID="DdlistCountry" runat="server" AutoPostBack="True">
</asp:DropDownList>
<asp:XmlDataSource ID="XmlDataSourceState" runat="server" DataFile="~/state.xml"
XPath="Gov/State"></asp:XmlDataSource>
</div>
<asp:XmlDataSource ID="XmlDataSourceProvince" runat="server" DataFile="~/state.xml"
XPath="Gov/State/Province"></asp:XmlDataSource>
<asp:XmlDataSource ID="XmlDataSourceCity" runat="server" DataFile="~/state.xml" XPath="Gov/State/Province/City">
</asp:XmlDataSource>
<asp:XmlDataSource ID="XmlDataSourceCountry" runat="server" DataFile="~/state.xml"
XPath="Gov/State/Province/City/County">
</asp:XmlDataSource>
</form>
</body>
</html>
xml file:
<Gov>
<State Name="中国" PostalCode="100">
<Province Name="北京市" PostalCode="110000">
<City Name="市辖区" PostalCode="110100">
<County Name="东城区" PostalCode="110101"/>
<County Name="西城区" PostalCode="110102"/>
<County Name="崇文区" PostalCode="110103"/>
<County Name="宣武区" PostalCode="110104"/>
<County Name="朝阳区" PostalCode="110105"/>
<County Name="丰台区" PostalCode="110106"/>
<County Name="石景山区" PostalCode="110107"/>
<County Name="海淀区" PostalCode="110108"/>
<County Name="门头沟区" PostalCode="110109"/>
<County Name="房山区" PostalCode="110111"/>
<County Name="通州区" PostalCode="110112"/>
<County Name="顺义区" PostalCode="110113"/>
<County Name="昌平区" PostalCode="110114"/>
<County Name="大兴区" PostalCode="110115"/>
<County Name="怀柔区" PostalCode="110116"/>
<County Name="平谷区" PostalCode="110117"/>
</City>
<City Name="县" PostalCode="110200">
<County Name="密云县" PostalCode="110228"/>
<County Name="延庆县" PostalCode="110229"/>
</City>
</Province>
<Province Name="天津市" PostalCode="120000">
<City Name="市辖区" PostalCode="120100">
<County Name="和平区" PostalCode="120101"/>
<County Name="河东区" PostalCode="120102"/>
<County Name="河西区" PostalCode="120103"/>
<County Name="南开区" PostalCode="120104"/>
<County Name="河北区" PostalCode="120105"/>
<County Name="红桥区" PostalCode="120106"/>
<County Name="塘沽区" PostalCode="120107"/>
<County Name="汉沽区" PostalCode="120108"/>
<County Name="大港区" PostalCode="120109"/>
<County Name="东丽区" PostalCode="120110"/>
<County Name="西青区" PostalCode="120111"/>
<County Name="津南区" PostalCode="120112"/>
<County Name="北辰区" PostalCode="120113"/>
<County Name="武清区" PostalCode="120114"/>
<County Name="宝坻区" PostalCode="120115"/>
</City>
<City Name="县" PostalCode="120200">
<County Name="宁河县" PostalCode="120221"/>
<County Name="静海县" PostalCode="120223"/>
<County Name="蓟 县" PostalCode="120225"/>
</City>
</Province>
</State>
<State Name="美国" PostalCode="200">
<Province Name="纽约州" PostalCode="1">
<City Name="纽约市" PostalCode="11">
<County Name="通用区" PostalCode="111"/>
<County Name="HP区" PostalCode="112"/>
</City>
<City Name="洛杉矶市" PostalCode="12">
<County Name="谷歌区" PostalCode="121"/>
<County Name="IBM" PostalCode="122"/>
</City>
</Province>
<Province Name="华盛顿特区" PostalCode="12">
<City Name="金山市" PostalCode="121">
<County Name="唐人街" PostalCode="1211"/>
<County Name="华人区" PostalCode="1212"/>
</City>
<City Name="卡拉奇市" PostalCode="122">
<County Name="硅谷区" PostalCode="1221"/>
<County Name="雅虎区" PostalCode="1222"/>
</City>
</Province>
</State>
<State Name="英国" PostalCode="300">
<Province Name="英格兰" PostalCode="2">
<City Name="剑桥市" PostalCode="21">
<County Name="东区" PostalCode="211"/>
<County Name="西区" PostalCode="212"/>
</City>
<City Name="牛津市" PostalCode="22">
<County Name="南区" PostalCode="221"/>
<County Name="北区" PostalCode="222"/>
</City>
</Province>
<Province Name="苏格兰" PostalCode="22">
<City Name="伦敦市" PostalCode="221">
<County Name="A区" PostalCode="2211"/>
<County Name="B区" PostalCode="2212"/>
</City>
<City Name="爱丁堡市" PostalCode="222">
<County Name="C区" PostalCode="2221"/>
<County Name="D区" PostalCode="2222"/>
</City>
</Province>
</State>
</Gov>