Asp.net实现下拉框和列表框的连动

        走过了牛腩老师的新闻发布系统,漫游过了孙鑫老师的Html,在427沐浴第一缕冬日阳光的美丽月底,小编迎来了北大青鸟的Asp.net,北大青鸟,高大上的赶脚有么有,哈哈哈,开始了小编的.net之旅。

        首先,小编来简单介绍一下Asp.net,她是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序。该博文小编主要带领小伙伴们学习一个例子,利用Asp.net实现下拉框和列表框的连动,以及小编在这个过程中遇到的问题,记录一下小编的学习过程。

          首先,我们需要创建一个数据库:

          

<span style="font-size:18px;">create database department   --创建数据库

use department

create table TDepartment   --穿件TDepartment表
(
 depID int primary key,
 deName varchar(30) not null
)
insert into TDepartment values(1,'教务')
insert into TDepartment values(2,'后勤服务中心')
insert into TDepartment values(3,'办公室')

create table emp   --创建emp表
(
 empID int primary key,
 empName varchar(30) not null,
 depID int foreign key references TDepartment(depID)

)
insert into emp values(1,'王小刚',1)
insert into emp values(2,'李刚',1)
insert into emp values(3,'张红',2)
insert into emp values(4,'张波',3)

</span>

       接着,打开VS,我们新建一个项目,如下图所示:

       

       接着,编写代码,我们需要连接数据库,代码编写如下:

       

<span style="font-size:18px;">/**********************************************
'文 件 名: DBCon
'内    容:连接数据库
'功    能:连接数据库
'作    者:丁国华
'生成日期: 2014年11月28日 14:59:45
'版本号:V2.0
'**********************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;

namespace departMent
{
    public class DBCon
    {
        public DBCon()
        {

        }
            public static SqlConnection createConnection()
           {
                //连接数据库
                SqlConnection con = new SqlConnection("server=(local);database=department;uid=sa;pwd=123456;");
                return con;
            }

    }

}</span>

        紧接着,我们来编写Web的代码,如下:

      

<span style="font-size:18px;">/**********************************************
'文 件 名: WebForm1
'内    容:实现下拉框和列表框的连动
'功    能:实现下拉框和列表框的连动
'作    者:丁国华
'生成日期: 2014年11月28日 15:05:45
'版本号:V2.0
'**********************************************/
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;
namespace departMent
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!this.IsPostBack)
            {

                SqlConnection con = DBCon.createConnection();
                con.Open();
                //显示部门
                SqlCommand cmd = new SqlCommand("select * from TDepartment",con);
                SqlDataReader sdr = cmd.ExecuteReader();
                this.ddlDep.DataSource = sdr;
                this.ddlDep.DataTextField = "deName";
                this.ddlDep.DataValueField= "depID";
                this.ddlDep.DataBind();

                sdr.Close();
                //显示员工
                SqlCommand cmdEmp = new SqlCommand("select * from emp where depID="+this.ddlDep.SelectedValue ,con);
                SqlDataReader sdrEmp = cmdEmp.ExecuteReader();
                while(sdrEmp.Read())
                {
                    this.lBoxEmp.Items.Add(new ListItem(sdrEmp.GetString(1),sdrEmp.GetInt32(0).ToString()));

                }
                sdrEmp.Close();

                //关闭连接
                con.Close();
            }
        }

        protected void ddlDep_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.lBoxEmp.Items.Clear();
            SqlConnection con = new SqlConnection("server=(local);database=department;uid=sa;pwd=123456;");
            con.Open();
            //显示员工
            SqlCommand cmdEmp = new SqlCommand("select * from emp where depID=" + this.ddlDep.SelectedValue,con);
            SqlDataReader sdrEmp = cmdEmp.ExecuteReader();
            while (sdrEmp.Read())
            {
                this.lBoxEmp.Items.Add(new ListItem(sdrEmp.GetString(1), sdrEmp.GetInt32(0).ToString()));

            }
            sdrEmp.Close();

            //关闭连接
            con.Close();
        }
    }
}</span>

           Ctrl+F5运行,咳咳咳,满怀期待,期待运行效果会是什么样子的nie,啊哦,出错了,如下所示:

           

          这个错是为神马nie,再此小编来讲解一下解决方案,以Win8为例:

          第一步:进入控制面板:

          

         第二步:选择程序选项:

         

         第三步:选择程序和功能:

         

         第四步:启用和关闭Windows功能:

         

         第五步:勾选Internet Information Services可承载的Web核心:

         
        最后点击“确定”等待更改完成。然后重启电脑,设置完成,我们再来运行,效果如下:

        

        点击相应的下拉框,列表框会随之变化,但是这种连动不提倡使用,在用户连接少的时候可以使用,如果大量的用户连接,会对数据库造成很大的负担。

        小编寄语:该博文,小编主要讲解了Asp.net方面的知识,第一次接触,小宇宙顿时爆发了`(*∩_∩*)′,小编主要敲了一个例子,美其名曰利用Asp.net实现下拉框和列表框的连动,以及在敲这个小例子的过程中遇见的困难,希望可以帮助到其他小伙伴,北大青鸟Asp.net未完,待续......        

时间: 2025-01-24 06:16:34

Asp.net实现下拉框和列表框的连动的相关文章

ASP.NET多彩下拉框开发实例_实用技巧

本文主要是演示如何读取系统颜色并在下拉框中的每个条目中显示对应的颜色,该源码主要展示以下内容:    1.如何获得System.Drawing.KnownColor颜色控件的列表枚举    2.如何排除系统环境颜色,如"Active Border"    3.如何分配颜色到下拉框的每个条目   代码详解:    命名下拉框为ddlMultiColor 来显示颜色名称及颜色,用<div>标签显示右侧矩形结果,Aspx代码如下 <table> <tr>

asp.net-asp实现下拉框级联时出现第二个框一直不断积累的情况

问题描述 asp实现下拉框级联时出现第二个框一直不断积累的情况 比如,第一个下拉框选择华北,第二个下拉框出现:北大,北师大第一个框再选华中,第二个就会出现北大,北师大武大第一次的结果没有删除,要怎么实现?附上代码,各位高手帮我看一下吧,而且想实现第一个框为空的话,第二个框出来全部学校怎样实现? 在index.aspx中 选择地区: -请选择地区-/asp:ListItem/asp:DropDownList选择学校:-请选择学校-/asp:ListItem/asp:DropDownList在ind

ASP.NET MVC下拉框联动实例解析_实用技巧

两个DropDownList的联动,选择其中一个DropDownList,然后加载数据到另外的一个DropDownList上           这里,我打算实现的需求是:有两个DropDownList,一个默认加载所有的省份数据,然后,当我选择省份的时候,把对应的市的数据,绑定到另外一个DropDownList上面,即实现了联动. 好了,这里不打算使用EF了,换用ADO.NET.首先新建好数据库,表: USE master GO IF EXISTS (SELECT * FROM sysdata

asp.net 实现下拉框只读功能_实用技巧

复制代码 代码如下: <HTML> <HEAD> <TITLE>下拉框模拟只读</TITLE> <script type="text/javascript"> //根据下拉框ID设置下拉框只读 function setReadOnly(obj_id){ var obj = document.getElementById(obj_id); obj.onmouseover = function(){ obj.setCapture(

ASP.NET实现下拉框二级联动组件

asp.net|下拉 namespace WebApplicationDlh { using System; using System.Data; using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using Db; /// <summary> /// Area 的摘要说明.

asp.net-jquery 联动下拉框,动态添加dropdownlist option项后遇到问题

问题描述 jquery 联动下拉框,动态添加dropdownlist option项后遇到问题 这是一个联动的案例 选择一级菜单 二级菜单随之改变, 现在选择二级菜单也就是成员那个下拉框的选项之后,点击查询(服务端查询)按钮,这个下拉框动态append的option都没有了,变成了空,请问如何选择完二级下拉的选项之后,点击查询按钮在后台能获取到它的选择项呢??? 完整代码如下: $(document).ready(function() { var $ddl = $("select[name$=t

asp.net ajaxpro 下拉框

问题描述 一个很纠结的问题,描述如下:我用ajaxpro实现省市无刷新显示.先可以显示了.但是取值出现了蛋疼的问题.前台页面是用<select>元素的例如:<selectname="selpro"></select>后台取值Request.Form["selpro];问题来了.Request.Form["selpro];是空的.想了很多办法,在前台添加了隐藏域,也不行.求指定! 解决方案 解决方案二:Request.Form[&q

asp.net DataGridTree 下拉树 实现方法

asp教程.net datagridtree 下拉树 实现方法 下拉树实现原理 输出json到客户端 客户端实现动态加载 中间不会和服务端交互 数据量支持上 经测试 几千 还是很快的 本下拉树控件是用c#+js树实现 --------------------------------------------------------------------------------   2.c# 计算器 计算字符串数学表达式源码   计算数学表达式原理 采用c#实现 很实用 //a.建立两个栈:第一个

ASP技巧:下拉菜单做翻页的通用代码

菜单|翻页|技巧|通用代码|下拉 其实这个代码就是老外的那个翻页插件,后来是哪位好朋友(不好意思,忘了)修改后放在论坛上的,我还做成过插件,其实光是拷贝也挺方便的.还有最后一段是前后翻页的按钮,呵呵,这个还是ccjat提醒后加上的,用不用都随便咯. <%记录集名字_total = 记录集名字.RecordCount If (记录集名字_numRows < 0) Then记录集名字_numRows = 记录集名字_totalElseif (记录集名字_numRows = 0) Then记录集名字