--这是前台界面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="省市县三级联动.aspx.cs" Inherits="新闻管理系统.省市县三级联动" %>
<!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="DropDownList1" runat="server" AutoPostBack="true"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Value="0">-------请选择省-------</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="Label2" runat="server" Text="市"></asp:Label>
<asp:DropDownList ID="DropDownList2" runat="server"
onselectedindexchanged="DropDownList2_SelectedIndexChanged"
AutoPostBack="True">
<asp:ListItem Value="-1">-----请选择市------</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="Label3" runat="server" Text="县"></asp:Label>
<asp:DropDownList ID="DropDownList3" runat="server"
onselectedindexchanged="DropDownList3_SelectedIndexChanged">
<asp:ListItem Value="0">-------请选择县-------</asp:ListItem>
</asp:DropDownList>
</div>
</form>
</body>
</html>
--这是后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
namespace 新闻管理系统
{
public partial class 省市县三级联动 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
FillDropDownList();
this.DropDownList1.Items.Add(new ListItem("---请选择省份---", "0"));
}
}
private void FillDropDownList()
{
string connstr = "data source=LOVE-PC\\SQLEXPRESSPC;initial catalog=student;user id=sa;password=admin";
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from province";
using (SqlDataReader reader = cmd.ExecuteReader())
{
//方法一
#region
this.DropDownList1.DataSource = reader;
this.DropDownList1.DataTextField = "province";
this.DropDownList1.DataValueField = "provinceID";
this.DropDownList1.DataBind();
#endregion
}
}
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string connstr = "data source=LOVE-PC\\SQLEXPRESSPC;initial catalog=student;user id=sa;password=admin";
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select cityID,city from city where father=@xxx";
SqlParameter param = new SqlParameter("xxx", this.DropDownList1.SelectedValue);
cmd.Parameters.Add(param);
using (SqlDataReader reader = cmd.ExecuteReader())
{
this.DropDownList2.DataSource = reader;
this.DropDownList2.DataTextField = "city";
this.DropDownList2.DataValueField = "cityID";
this.DropDownList2.DataBind();
}
}
}
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
string connstr = "data source=LOVE-PC\\SQLEXPRESSPC;initial catalog=student;user id=sa;password=admin";
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select area,areaID from area where father=@xxx";
SqlParameter param = new SqlParameter("xxx", this.DropDownList2.SelectedValue);
cmd.Parameters.Add(param);
using (SqlDataReader reader = cmd.ExecuteReader())
{
this.DropDownList3.DataSource = reader;
this.DropDownList3.DataTextField = "area";
this.DropDownList3.DataValueField = "areaID";
this.DropDownList3.DataBind();
}
}
}
}
}
}