Asp.NET中DropDownList控件使用

允许用户从下拉列表中选择一项的控件。

 

 

AutoPostBack

选择一个列表项时DropDownList控件状态是否发回到服务器的值(True/False

DataMember

获取或设置数据源中的特定表格以绑定到该控件

DataSource

获取或设置填充列表控件的组成项的数据源

DataTextField

获取或设置提供列表项文本内容的数源的字段

DataTextFormatString

获取或设置用于控制如何显示绑定到列表控件的数据的格式字符串

DataValueField

获取或设置提供列表项文本内容的数据源的字段

Items

获取或者设置选项的值

 

 

SelectedIndexChanged

当从列表控件选择的内容在发布到服务器的操作之间发生变化时发生

 

例子所用到数据库

create table province

(

  pid int identity(1,1) primary key,

  pname varchar(20)

)

create table city

(

   cid int identity(1,1) primary key,

   pid int,

   cname varchar(20)

)

insert into province values('湖北')

insert into province values('湖南')

insert into province values('广东')

insert into province values('广西')

insert into province values('河南')

insert into province values('河北')

 

insert into city values(1,'武汉')

insert into city values(1,'荆州')

insert into city values(1,'襄樊')

insert into city values(2,'长沙')

insert into city values(2,'岳阳')

 

 

<asp:DropDownList ID="DropDownList1" runat="server" Height="16px"  Width="125px" onselectedindexchanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true"

> </asp:DropDownList>

<asp:DropDownList ID="DropDownList2" runat="server" Height="16px" Width="125px"></asp:DropDownList>

 

 

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;

using System.Data;

 

namespace WebApplication1

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        private string connstr = "data source=.;database=master;uid=sa;pwd=sadamu";

        protected void Page_Load(object sender, EventArgs e)

        {

            if(!Page.IsPostBack)

            {

               GetProvince();

               GetCity();

            }

        }

        //获得所有省份

        private void GetProvince()

        {

            string sqlstr = "select * from province";

            DataTable pro_dt = GetDataTable(sqlstr);

            DropDownList1.DataSource = pro_dt;

            DropDownList1.DataTextField = "pname";

            DropDownList1.DataValueField = "pid";

            DropDownList1.DataBind();

            ListItem li = new ListItem("--请选择--", "0");

            DropDownList1.Items.Insert(0,li);

        }

        //获得所有城市

        private void GetCity()

        {

            string sqlstr = "select * from city";

            DataTable city_dt = GetDataTable(sqlstr);

            BindControl("DropDownList2", city_dt,"cid","cname");

        }

        ///绑定各种DropDownList控件的公共方法

        private void BindControl(string ControlId,DataTable dt,string  col1,string col2)

        {

            DropDownList dw  = (DropDownList)Page.FindControl(ControlId);

            dw.DataSource = dt;

            dw.DataTextField = col2;

            dw.DataValueField = col1;

            dw.DataBind();

            ListItem li = new ListItem("--请选择", "0");

            dw.Items.Insert(0,li);

        }

        private DataTable GetDataTable(string sqlstr)

        {

            SqlConnection conn = new SqlConnection(connstr);

            conn.Open();

            SqlCommand cmd = new SqlCommand(sqlstr,conn);

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            DataTable dt = new DataTable();

            da.Fill(dt);

            return dt;

        }

        //当选择省时

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

        {

            int pro_id = int.Parse(DropDownList1.SelectedValue);

            string sqlstr = "select * from city where pid=" + pro_id;

            DataTable city_dt = GetDataTable(sqlstr);

            BindControl("DropDownList2", city_dt, "cid", "cname");

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值