省市县三级联动的实现
< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
前台页面
三个下拉列表控件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="LiandongThree.aspx.cs" Inherits="Liandong_LiandongThree" %>
<!DOCTYPE html PUBLIC "-//W< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />3C//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:DropDownList ID="ddlProvince" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlProvince_SelectedIndexChanged">
<asp:ListItem Value="0">--省份--</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlCity_SelectedIndexChanged">
<asp:ListItem Value="0">--城市--</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlDistrict" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlDistrict_SelectedIndexChanged">
<asp:ListItem Value="0">--县区--</asp:ListItem>
</asp:DropDownList>
</div>
</form>
</body>
</html>
后台代码:
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.Data.SqlClient;
public partial class Liandong_LiandongThree : 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 = ConfigurationManager.ConnectionStrings["connectionBlogs"].ConnectionString;
SqlConnection conn = new SqlConnection(connection);
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
}
< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
前台页面
三个下拉列表控件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="LiandongThree.aspx.cs" Inherits="Liandong_LiandongThree" %>
<!DOCTYPE html PUBLIC "-//W< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />3C//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:DropDownList ID="ddlProvince" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlProvince_SelectedIndexChanged">
<asp:ListItem Value="0">--省份--</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlCity_SelectedIndexChanged">
<asp:ListItem Value="0">--城市--</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlDistrict" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlDistrict_SelectedIndexChanged">
<asp:ListItem Value="0">--县区--</asp:ListItem>
</asp:DropDownList>
</div>
</form>
</body>
</html>
后台代码:
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.Data.SqlClient;
public partial class Liandong_LiandongThree : 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 = ConfigurationManager.ConnectionStrings["connectionBlogs"].ConnectionString;
SqlConnection conn = new SqlConnection(connection);
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
}