访问Access数据库实现DropDownList二级异步联动(ASP.NET WebForm开发方式)

来源:互联网 发布:淘宝卖qq号怎么卖 编辑:程序博客网 时间:2024/06/06 09:54

前台代码:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">            <ContentTemplate><asp:DropDownList ID="DropDownList1" runat="server"  OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True" ></asp:DropDownList><asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"></asp:DropDownList><br />            </ContentTemplate>            <Triggers>                <asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" />            </Triggers>        </asp:UpdatePanel>

关键点:UpdatePanelUpdateMode=”Conditional”;
AsyncPostBackTrigger 的 EventName=”SelectedIndexChanged”;


后台代码:

 protected void Page_Load(object sender, EventArgs e)        {            if (!Page.IsPostBack)            {                //第一次加载页面,将DropDownList1和DropDownList2都设置为“--请选择--”,并将DropDownList2设置为不可用                DropDownList1.Items.Add("--请选择--");                DropDownList2.Items.Add("--请选择--");                DropDownList2.Enabled = false;                //数据库地址                string dbPath =  Server.MapPath(@"/App_Data/change.mdb");                           //sql查询语句                string sqlStr = "SELECT DISTINCT [city] FROM [Region]";                //绑定数据                BindDropDownList(dbPath, sqlStr, DropDownList1);            }            if (DropDownList1.SelectedIndex == 0)            {                DropDownList2.Items.Add("--请选择--");            }        }        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)        {            DropDownList2.Enabled = true;            DropDownList2.Items.Clear();            if (DropDownList1.SelectedIndex == 0)            {                DropDownList2.Items.Add("--请选择--");                DropDownList2.Enabled = false;            }            string dbPath = Server.MapPath(@"/App_Data/change.mdb");            string sqlStr = "SELECT DISTINCT [country] FROM [Region] WHERE [city]='" + DropDownList1.SelectedItem.Value + "'";            BindDropDownList(dbPath, sqlStr, DropDownList2);        }        // 为DropDownList绑定数据        private void BindDropDownList(string dbPath,string sqlStr,DropDownList ddl)        {            string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath;            OleDbConnection connnection = new OleDbConnection(connstr);            connnection.Open();            OleDbCommand command = new OleDbCommand(sqlStr, connnection);            OleDbDataReader dataReader = command.ExecuteReader();            while (dataReader.Read())            {                //ddl.Items.Add(new ListItem(dr["bjmc"].ToString(), dr["id"].ToString()));//增加Item                //或者这样也能绑定,                 ddl.Items.Add(new ListItem(dataReader[0].ToString(), dataReader[0].ToString()));//增加Item                 //都是要在知道Sql语句或者数据表结构的前提下才能这样绑定             }            dataReader.Close();            connnection.Close();        }

关键点:OleDb访问数据库;DropDownList数据绑定;

0 0
原创粉丝点击