<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
Xonselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
</div>
</form>
</body>
----------aspx.cs---
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();
}
}