======前台
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label8" runat="server" Text="省" ForeColor="#CC6600"></asp:Label>
<asp:Label ID="Label22" runat="server" ForeColor="Red" Text="*"></asp:Label>
<asp:DropDownList ID="ddlProvince" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlProvince_SelectedIndexChanged">
<asp:ListItem Value="0">--省份--</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="Label9" runat="server" Text="市" ForeColor="#CC6600"></asp:Label>
<asp:Label ID="Label23" runat="server" ForeColor="Red" Text="*"></asp:Label>
<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlCity_SelectedIndexChanged">
<asp:ListItem Value="0">--城市--</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="Label13" runat="server" ForeColor="#CC6600" Text="县"></asp:Label>
<asp:Label ID="Label24" runat="server" ForeColor="Red" Text="*"></asp:Label>
<asp:DropDownList ID="ddlDistrict" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlDistrict_SelectedIndexChanged">
<asp:ListItem Value="0">--县区--</asp:ListItem>
</asp:DropDownList>
</div>
</form>
</body>
====后台
public partial class 省市县 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.Page.IsPostBack)
{
getddlProvinceDataBind();
}
}
public void getddlProvinceDataBind() //省份数据绑定
{
string sqlProvince = "SELECT * FROM S_Province";
ddlProvince.DataSource = getDataSet(sqlProvince);
ddlProvince.DataTextField = "ProvinceName";
ddlProvince.DataValueField = "ProvinceID";
ddlProvince.DataBind();
ddlProvince.Items.Insert(0, new ListItem("--省份--", "0"));
}
protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
{
int ProvinceID = Convert.ToInt32(ddlProvince.SelectedValue);
if (ProvinceID > 0)
{
string sqlCity = "SELECT * FROM S_City WHERE ProvinceID=" + ProvinceID + ""; //根据省份ID找城市
ddlCity.DataSource = getDataSet(sqlCity);
ddlCity.DataTextField = "CityName";
ddlCity.DataValueField = "CityID";
ddlCity.DataBind();
ddlCity.Items.Insert(0, new ListItem("--请选择城市--", "0"));
}
else
{
ddlCity.Items.Clear();
ddlCity.Items.Insert(0, new ListItem("--请选择城市--", "0"));
ddlDistrict.Items.Clear();
ddlDistrict.Items.Insert(0, new ListItem("--请选择县区--", "0"));
}
}
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{
int CityID = Convert.ToInt32(ddlCity.SelectedValue);
if (CityID > 0)
{
string sqlDistrict = "SELECT * FROM S_District WHERE CityID=" + CityID + ""; //根据城市ID找县区
ddlDistrict.DataSource = getDataSet(sqlDistrict);
ddlDistrict.DataTextField = "DistrictName";
ddlDistrict.DataValueField = "DistrictID";
ddlDistrict.DataBind();
ddlDistrict.Items.Insert(0, new ListItem("--请选择县区--", "0"));
}
else
{
ddlDistrict.Items.Clear();
ddlDistrict.Items.Insert(0, new ListItem("--请选择县区--", "0"));
}
}
protected void ddlDistrict_SelectedIndexChanged(object sender, EventArgs e)
{
int ProvinceID = Convert.ToInt32(ddlProvince.SelectedValue);
int CityID = Convert.ToInt32(ddlCity.SelectedValue);
int DistrictID = Convert.ToInt32(ddlDistrict.SelectedValue);
if (ProvinceID > 0 && CityID > 0 && DistrictID > 0)
{
Response.Write("您选择的省份ID:" + ProvinceID + "城市ID:" + CityID + "县区ID:" + DistrictID + "");
}
}
public DataSet getDataSet(string sql) //自定义方法,sql语句参数,返回DataSet数据集
{
string connection = "data source=.;initial catalog=CityandContury;user id=sa;password=admin";
SqlConnection conn = new SqlConnection(connection);
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
}