也談?wù)剟討B(tài)綁定dropdownlist(1)
發(fā)表時間:2023-08-04 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]也談?wù)剟討B(tài)綁定dropdownlist(1) 說來,很多的dropdownlist選項(xiàng)都不是固定的,是會動態(tài)改變的,一種方法是在頁面上寫死,改變時,直接修改頁面就可以了。但是很多人是使用動態(tài)綁定的,...
也談?wù)剟討B(tài)綁定dropdownlist(1)
說來,很多的dropdownlist選項(xiàng)都不是固定的,是會動態(tài)改變的,一種方法是在頁面上寫死,改變時,直接修改頁面就可以了。但是很多人是使用動態(tài)綁定的,因此dropdownlist的Text和Value是需要動態(tài)生成的。
首先我們來創(chuàng)建一個表來存放DropDownList的菜單選項(xiàng):
create table DDLItem --下拉菜單選項(xiàng)表
(
id int Identity Primary Key, --編號
ItemName varchar(20) --菜單名稱
)
再在web.config里添加:
<appSettings>
<add key="ConnectionString" value="server=127.0.0.1;uid=sa;password=1234;database=smsc" />
appSettings>
一個最常用的方法就是用DataSet作為數(shù)據(jù)源來綁定Dropdownlist的值。
首先我們先在頁面上加上一個DropDownList和一個Button,如圖所示:
源代碼如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;
namespace BindDropDownList
{
///
/// Example1 的摘要說明。
///
public class Example1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置用戶代碼以初始化頁面
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:該調(diào)用是 ASP.NET Web 窗體設(shè)計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///
/// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內(nèi)容。
///
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
//取得Web.config里的數(shù)據(jù)庫連接字串
string ConnString = ConfigurationSettings.AppSettings["ConnectionString"];
//創(chuàng)建一個SqlConnection
SqlConnection Conn = new SqlConnection( ConnString );
string SQL_Select = "select id, ItemName from DDLItem order by id desc";
//構(gòu)造一個SqlDataAdapter
SqlDataAdapter myAdapter = new SqlDataAdapter( SQL_Select, Conn);
//開始讀取數(shù)據(jù)
Conn.Open();
DataSet dataSet = new DataSet();
myAdapter.Fill( dataSet,"Table1" );
Conn.Close();
//開始綁定DropDownList
//指定DropDownList使用的數(shù)據(jù)源
DropDownList1.DataSource = dataSet.Tables["Table1"].DefaultView;
//指定DropDownList使用的表里的那些字段
DropDownList1.DataTextField = "ItemName"; //dropdownlist的Text的字段
DropDownList1.DataValueField = "id";//dropdownlist的Value的字段
DropDownList1.DataBind();
}
}
}
效果圖如下:
未綁定的
綁定后的
這個方法比較簡單實(shí)用,可以靈活的指定一個表里的任意字段為DropDownList的Text和Value值。但是DataSet包含的其他屬性太多,就是相當(dāng)于一個脫機(jī)的數(shù)據(jù)庫。因此說來,不是很贊成使用這個方法綁定DropDownList。