aspx:
<%@ 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:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
</div>
</form>
</body>
</html>
aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using 数据导入导出练习;
using System.Data.SqlClient;
namespace 简单绑定
{
public partial class 省市级联数据绑定 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlDataReader reader = sqlhelper.datareader("select * from p");
if (reader.HasRows)
{
DropDownList1.DataSource = reader;//读取表中的省份
DropDownList1.DataTextField = "p";//将表中的省份名称绑定到控件的字段名上
DropDownList1.DataValueField = "id";//将表中的id绑定到控件的value上
DropDownList1.DataBind();//进行数据绑定
DropDownList1.SelectedIndex = 0;//默认选择项为第一项
//以下是初始化城市列表用的
string value = DropDownList1.SelectedValue;
SqlDataReader reader2 = sqlhelper.datareader("select * from city where pid=@pid", new SqlParameter("@pid", value));
if (reader2.HasRows)
{
DropDownList2.DataSource = reader2;
DropDownList2.DataTextField = "city";
DropDownList2.DataValueField = "id";
DropDownList2.DataBind();
}
}
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string value=DropDownList1.SelectedValue;
SqlDataReader reader = sqlhelper.datareader("select * from city where pid=@pid", new SqlParameter("@pid", value));
if (reader.HasRows)
{
DropDownList2.DataSource = reader;
DropDownList2.DataTextField = "city";
DropDownList2.DataValueField = "id";
DropDownList2.DataBind();
}
}
}
}