发布时间:2026-09-28 17:00:01 浏览次数:3
DropDownList控件是ASP.NET的一个常用控件之一,下面详细讲解控件绑定数据源的三种方法。
<asp:DropDownList ID="ddlFruit" runat="server" />protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { ddlFruit.Items.Add("苹果"); ddlFruit.Items.Add("香蕉"); ddlFruit.Items.Add("橙子"); ddlFruit.Items.Add("葡萄"); }}在Page_Load事件中,首先判断页面是否是PostBack,如果不是则给DropDownList控件手动添加数据源。
<asp:SqlDataSource ID="sdsFruit" runat="server" ConnectionString="[连接字符串]" SelectCommand="[查询语句]"></asp:SqlDataSource>SqlDataSource是ASP.NET内置的一个控件,可以用于连接和操作数据库。
<asp:DropDownList ID="ddlFruit" runat="server" DataTextField="FruitName" DataValueField="FruitID" DataSourceID="sdsFruit"></asp:DropDownList>在DropDownList控件中设置DataTextField和DataValueField属性,分别指定名称和值,将数据源控件的ID赋值给DataSourceID属性,即可自动将数据源绑定到DropDownList控件。
string connStr = "[连接字符串]";SqlConnection conn = new SqlConnection(connStr);string sqlStr = "SELECT FruitID, FruitName FROM dbo.Fruit";SqlCommand cmd = new SqlCommand(sqlStr, conn);创建SqlConnection对象和SqlCommand对象,SqlCommand对象的CommandText属性指向查询语句,SqlConnection对象的ConnectionString属性指向连接字符串。
conn.Open();SqlDataReader reader = cmd.ExecuteReader();while (reader.Read()){ ddlFruit.Items.Add(new ListItem(reader["FruitName"].ToString(), reader["FruitID"].ToString()));}使用While循环遍历DataReader对象,逐行将数据添加到DropDownList控件。
完整示例代码如下:
protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { string connStr = "[连接字符串]"; SqlConnection conn = new SqlConnection(connStr); string sqlStr = "SELECT FruitID, FruitName FROM dbo.Fruit"; SqlCommand cmd = new SqlCommand(sqlStr, conn); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { ddlFruit.Items.Add(new ListItem(reader["FruitName"].ToString(), reader["FruitID"].ToString())); } conn.Close(); }}