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未完,待续......
Asp.net实现下拉框和列表框的连动的更多相关文章
- iOS开发——UI篇&下拉弹出列表选择项效果
		
下拉弹出列表选择项效果 右边菜单中的按键,点击弹出一个列表可选择,选择其中一个,响应相应的事件并把文字显示在右边的菜单上:弹出下拉效果使用LMDropdownView插件,可以用POD进行加载pod ...
 - select标签(分组下拉菜单和列表)
		
分组下拉菜单和列表标签: <select name=" " > <optgroup label="组1"> <option val ...
 - select标签(下拉菜单和列表)
		
下拉菜单和列表标签: <select> <option value="..." >选项</option> <option value=&q ...
 - android  支持上拉加载,下拉刷新的列表控件SwipeRefreshLayout的二次封装
		
上拉加载,下拉刷新的列表控件,大家一定都封装过,或者使用过 源代码,我会在最后贴出来 这篇代码主要是为了解决两个问题 1.滑动冲突得问题 2.listview无数据时,无数据布局的展示问题 下方列出的 ...
 - MFC控件编程之组合框跟列表框
		
MFC控件编程之组合框跟列表框 一丶简介 如果要使用组合框跟列表框.那么就要知道.组合框列表框是最核心的东西就是索引. 索引是从0开始的. 二丶组合框列表框常用的方法 AddString(字符串) 添 ...
 - ASP.NET MVC 下拉框的传值的两种方式
		
以前使用WebForm变成时,下拉框传值只需直接在后台绑定代码就可以了.现在我们来看看在MVC中DropDownList是如果和接受从Controller传过来的值的. 第一种:使用DropDownL ...
 - jquery 匹配select下拉框与列表框
		
今天工作中用到 GrapyCity 的 wijmo ui 控件. 要给系统中所有类型的控件加统一样式 用法 $("input [type='text']").wijtext(); ...
 - Windows Phone 8 LongListSelector实现下拉自动刷新列表
		
LongListSelector是一个加强版的列表控件,它可以实现分组的列表,如系统人脉列表的交互效果就可以利用LongListSelector控件去实现,同时LongListSelector也一样可 ...
 - yii框架中的下拉菜单和单选框
		
yii中的下拉菜单: 第一种: <?= $form->field($model, 'parent_id')->dropDownList(ArrayHelper::map($data, ...
 
随机推荐
- 使用word
			
同样这也是生活中常用到的办公软件,word本质是一个排版软件,它与一般的编辑器不同的是,它将整个文本分成了一页一页的,当然这也是方便于打印文档. 使用word还是很容易的,一般来说需要注意以下几方面的 ...
 - 手写JAVA虚拟机(二)——实现java命令行
			
查看手写JAVA虚拟机系列可以进我的博客园主页查看. 我们知道,我们编译.java并运行.class文件时,需要一些java命令,如最简单的helloworld程序. 这里的程序最好不要加包名,因为加 ...
 - 【给你一个承诺 - 玩转 AngularJS 的 Promise】
			
了解Promise 在谈论Promise之前我们要了解一下一些额外的知识:我们知道JavaScript语言的执行环境是"单线程",所谓单线程,就是一次只能够执行一个任务,如果有多个 ...
 - Linux(centos7)下安装Docker
			
近期公司开始推Docker技术.这个系列的文章都是基于CentOS7系统下进行讲解的. Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器 ...
 - Lintcode392 Is Subsequence solution 题解
			
[题目描述] Given a string s and a string t, check if s is subsequence of t. You may assume that there is ...
 - linkList hashSet ArrayList IO  序列化 1.1.瞬态transient  .字符编码表  Properties
			
Day12 IO 序列化 .递归_递归的概念_注意事项 1.递归:方法的递归调用--它是一种方法调用的方式--方法可以调用其本身 2.注意事项: 1).递归必须要有一个"出口(结束的条 ...
 - HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
			
IE8报错误: 用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .N ...
 - python学习之路基础篇(第六篇)
			
一.算法 冒泡排序 两两比较 打的沉下去,小的浮上来 从而把数字从小到大排列出来 选择排序 随机取一个索引作为最大值,然后和列表中的其他索引进行比较,如果l[0]<l[1],则将l[1]修改为 ...
 - Git幕后的“故事”
			
因为做操作系统实验的原因,所以通读了一遍<Understanding git conceptually>,觉得确实不错,于是就简单地记录一下.有的地方理解的还不是很深,可能不够准确,等抽时 ...
 - Android图表库MPAndroidChart(十一)——多层级的堆叠条形图
			
Android图表库MPAndroidChart(十一)--多层级的堆叠条形图 事实上这个也是条形图的一种扩展,我们看下效果就知道了 是吧,他一般满足的需求就是同类数据比较了,不过目前我还真没看过哪个 ...