前台代码:
<%@ Page Language="C#" CodeFile="DropDownListDemo.aspx.cs" Inherits="DropDownListDemo" %>
<!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:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"></asp:DropDownList> <asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList> </ContentTemplate> </asp:UpdatePanel> </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;
public partial class DropDownListDemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DropDownList1.AutoPostBack = true; DropDownList2.AutoPostBack = true; if (!IsPostBack) { DropDownList1.Items.Add("----请选择----"); DropDownList2.Items.Add("----请选择----"); BindDDL("SELECT 列名1,列名2 FROM 表名", DropDownList1); DropDownList2.Enabled = false; } else if (DropDownList1.SelectedIndex == 0) { DropDownList2.Enabled = false; } } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { DropDownList2.Items.Clear(); DropDownList2.Items.Add("----请选择----"); if (DropDownList1.SelectedIndex == 0) { DropDownList2.Enabled = false; } else { DropDownList2.Enabled = true; BindDDL("SELECT 列名1,列名2 FROM 表名 WHERE 条件1 = '" + DropDownList1.SelectedValue + "'", DropDownList2); } } protected void BindDDL(string queryString, DropDownList ddl) { string connectionString = "Data Source=****;Initial Catalog=****;User ID=****;Password=****"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { ddl.Items.Add(new ListItem(reader[0].ToString(), reader[1].ToString())); } reader.Close(); } } }