ASP.NET实现级联下拉框效果实例讲解

用ASP.NET控件实现部门和员工的联动,参考过程如下
效果图:

Default.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <title></title>
</head>
<body>
 <form id="form1" runat="server">
 <div> 

 <asp:DropDownList ID="ddlDep" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlDep_SelectedIndexChanged">
 </asp:DropDownList>
 <br />
 <asp:ListBox ID="lBoxEmp" runat="server"></asp:ListBox> 

 </div>
 </form>
</body>
</html> 

Default.aspx.cs代码:

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; 

public partial class _Default : 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 = "depName";
  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 = DBCon.createConnection();
 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();
 }
}

DBCon.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient; 

/// <summary>
/// DBCon 的摘要说明
/// </summary>
public class DBCon
{
 public DBCon()
 {
 //
 // TODO: 在此处添加构造函数逻辑
 //
 }
 public static SqlConnection createConnection()
 {
 SqlConnection con = new SqlConnection("server=.;database=department;uid=sa;pwd=123456");
 return con;
 }
}

使用Asp.net控件实现比较简单,但在大量用户使用的情况下最好不要使用,不断向服务器请求会给服务器带来很大的负担。使用JQuery和ajax实现可以有动态效果,实现过程比较复杂,但有数据缓冲和ajax局部刷新可以减少服务器的负担,JQuery实现级联下拉框效果,参考这篇文章:http://www.jb51.net/article/72366.htm

如果大家还想深入学习,可以点击jquery下拉框效果汇总、JavaScript下拉框效果汇总进行学习。

以上就是ASP.NET实现级联下拉框效果实例讲解,希望大家可以学以致用。

时间: 2015-09-14

asp.net下使用AjaxPro实现二级联动代码

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %> <!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1

ASP.NET中DropDownList和ListBox实现两级联动功能

DropDownList和ListBox实现两级联动功能,它们可以将从后台数据库中搜选的出来的信息加以绑定,这里要实现的功能是在DropDownList中选择"省",然后让ListBox自动将其省份下的"市"显示出来,这就是所谓的两级联动功能,这个功能我们在很多注册网页上看见,今天就为大家解开ASP.NET神秘的面纱. 一.设置前台界面,在Web窗体中添加DropDownList和ListBox两个控件. 界面图如下所示. 二.编写后台代码 在这,后台代码编写在其窗

jQuery+Asp.Net实现省市二级联动功能的方法

本文实例讲述了jQuery+Asp.Net实现省市二级联动功能的方法.分享给大家供大家参考,具体如下: 页面html: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ddlAjax.aspx.cs" Inherits="ThreeAjaxDrop_ddlAjax" %> <!DOCTYPE html PUBLIC "-//W3C//D

asp.net DropDownList实现二级联动效果

最近在做新闻发布系统的时候,用到了二级联动,我把使用方法记录下来,以便日后查阅以及帮助新手朋友们.下面是效果图: 下面来讲解一下实现的方法: 1.在.aspx页面中,拖入两个DroDownList控件.代码如下: <tr> <td>新闻风格:</td> <td><asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True&q

适用与firefox ASP.NET无刷新二级联动下拉列表

可能"极好的"又会带来很多的非议,但是我认为这确实很好,我看了大约20个无刷新的连动下拉列表,他们在firefox下面就一团糟.为了这个我差不多搞了两天,就是如果提交窗体后如何保持第二个列表框的值,因为通过js 给下拉框添加条目那么他的状态是不会被保存的测试平台:ie6,firefox 功能:二级无刷新连动 特点:跨浏览器;提交窗体取第二下拉框的值;数据来源于数据库;以xmlhttp来发送请求,实现无刷新 请求:如果您能够找到更好的方法请告诉我,非常感谢,您的批评和建议对我是莫大的鼓励

asp.net DropDownList 三级联动下拉菜单实现代码

复制代码 代码如下: if (!IsPostBack) { //一级分类列表 this.DropDownList1.DataSource = dsbb.SelectSubjct1(); this.DropDownList1.DataTextField = "cName"; this.DropDownList1.DataValueField = "Ccode"; this.DropDownList1.DataBind(); this.DropDownList1.Ite

ASP.NET Ajax级联DropDownList实现代码

了解级联DDL 那么考虑以下几种常见情景: · 用户注册时需要选择国家.省.市.地区等. · 用户购买产品时选择产品类别.产品名称.产品型号. 以上的例子有一些共同特点: · 上一级(如省)选择后下一级(如市)才可以选择. · 下一级的内容由上一级的内容决定. 像这样的一组DropDownList就是级联DDL.常见的解决方法是将带有层次的数据写入XML,然后设置DropDownList的AutoPostBack属性为"True"开启自动回调,最后处理SelectedIndexChan

asp.net两级联动(包含添加和修改)

<script language="javascript" type="text/javascript"> //科目数据初始化 var subcat = new Array(); subcat[0] = new Array('0', '请选择科目', '0'); subcat[1] = new Array('x1', '语文', 'x1yw'); subcat[2] = new Array('x2', '语文', 'x2yw'); subcat[3] =

asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例

本文主要列举了省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例.前段时间需要作一个的Web前端应用,需要用多个框架,一个典型的应用场景是省市三级联动,基于此应用,特将三种主要的ajax框架略作整理,方便有需要的朋友查阅. 在示例之前,我们先设置一个演示数据源,新建一个项目,项目结构如图: 主要文件如下:AreaModel.cs: 复制代码 代码如下: using System; using System.Collections.Generi

ASP.NET MVC下拉框联动实例解析

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

ASP.NET多彩下拉框开发实例

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

详解ASP.NET MVC 下拉框的传值的两种方式

以前使用WebForm变成时,下拉框传值只需直接在后台绑定代码就可以了.现在我们来看看在MVC中DropDownList是如果和接受从Controller传过来的值的. 第一种:使用DropDownList 控制器代码: public ActionResult Index() { //1.1查询YzSeriesEntity的数据 List<Model.YzSeriesEntity> seriesList = seriesBLL.LoadEnities().ToList(); //1.2将YzS

asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法

一.非强类型: Controller: ViewData["AreId"] = from a in rp.GetArea()                                select new SelectListItem {                                Text=a.AreaName,                                Value=a.AreaId.ToString()                   

原生JavaScript实现动态省市县三级联动下拉框菜单实例代码

像平时购物选择地址时一样,通过选择的省动态加载城市列表,通过选择的城市动态加载县区列表,从而可以实现省市县的三级联动,下面使用原生的JavaScript来实现这个功能: 先给大家展示下测试结果: 未做任何选择时: 选择时: 代码如下所示: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>三级联动测试</titl

实时监控input框,实现输入框与下拉框联动的实例

如图: html代码 <tr> <th scope="row">奖励类型:</th> <td><input value="" type="text" name="item" id="reward" style="width: 60px;height: 20px;" placeholder="输入关键字" />

MVC实现下拉框联动效果(单选)

下拉框联动效果,我们以部门--职位为例,选择部门时,关联到该部门的职位.下拉框的写法就不多说了,详细请参照前文. 视图: 其中,dept是部门的属性,deptlist是部门下拉框的属性,job是职位的属性,joblist是职位下拉框的属性,下拉框绑定请参照前文 @using (Html.BeginForm("aaai003sch", "aaa", FormMethod.Post, new { @class = "form-horizontal",

JavaScript Ajax Json实现上下级下拉框联动效果实例代码

最近尝试做出一个部门和人员的下拉框联动功能,部门和人员的对应关系是1:N 复制代码 代码如下: <div class="forntName">部门</div> <div class="inpBox"> <select  name="department" id="department"  onchange="change();" style="width:

C#省份城市下拉框联动简单实现方法

本文实例讲述了C#省份城市下拉框联动简单实现方法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: //定义字典 Dictionary<string, string> Address = new Dictionary<string, string>(); void loadData() {    //这是你要添加的数据   //也可以选择动态添加但是考虑到数据不多不影响性能就这么做了     Address.Add("绵阳", "四川&quo