Webform 三级联动例子

首先分别做三个下拉列表

<body>
    <form id="form1" runat="server">
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"></asp:DropDownList>
        <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"></asp:DropDownList>
        <asp:DropDownList ID="DropDownList3" runat="server"></asp:DropDownList>
</form>
</body>

建类:China实体类

public China()
    {

    }
    private string code;

    public string Code
    {
        get { return code; }
        set { code = value; }
    }
    private string name;

    public string Name
    {
        get { return name; }
        set { name = value; }
    }
    private string prentcode;

    public string Prentcode
    {
        get { return prentcode; }
        set { prentcode = value; }
    }

数据访问类:

public class ChinaData
{
    SqlConnection conn = null;
    SqlCommand cmd = null;
    public ChinaData()
    {
        conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");
        cmd = conn.CreateCommand();
    }
    public List<China> Select(string pcode)
    {
        cmd.CommandText = "select * from ChinaStates where [email protected]";
        cmd.Parameters.Clear();
        cmd.Parameters.AddWithValue("@pcode", pcode);

        conn.Open();

        SqlDataReader dr = cmd.ExecuteReader();

        List<China> list = new List<China>();

        if (dr.HasRows)
        {
            while (dr.Read())
            {
                China data = new China();
                data.Code = dr[0].ToString();
                data.Name = dr[1].ToString();
                data.Prentcode = dr[2].ToString();

                list.Add(data);

}


}


conn.Close();


return list;

}


}

 

.cs后台代码

首先数据绑定:

if (!IsPostBack)
        {
  //调用方法绑定数据
Bind(DropDownList1,new ChinaStatesData().Select("0001"));

Bind(DropDownList2, new ChinaStatesData().Select(DropDownList1.SelectedValue));

Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));
        }
//委托
        DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged;
        DropDownList2.SelectedIndexChanged += DropDownList2_SelectedIndexChanged;
//造方法:
private void Bind(DropDownList ddl, List<ChinaStates> list)
    {
        ddl.DataSource = list;
        ddl.DataTextField = "AreaName";
        ddl.DataValueField = "AreaCode";
        ddl.DataBind();
    }
//SelectedIndexChanged事件
 void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        Bind(DropDownList2, new ChinaStatesData().Select(DropDownList1.SelectedValue));//填充市
        Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));//填充区
    }
void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
    {
        Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));//填充区
    }

代码部分完成后,将下拉列表的AutoPostBack属性改为true

时间: 2024-12-28 11:48:43

Webform 三级联动例子的相关文章

(八)学习MVC之三级联动

1.新建项目,MVC选择基本模板 2.新建类:Model/Student.cs,数据库信息有三个实体:分别是年级.班级和学生. using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Web; namespace CascadeExample.Models { public class Grade { [

Webform——中国省市三级联动以及IsPostBack

首先要明白Webform的运行顺序,当开始启动时候,首先执行的是Page_Load事件, 当点击任意按钮后,每次点击都要先执行一遍Page_Load(在这里Page_Load里面的事件是给数据控件加载数据)事件,然后才执行按钮上的内容. 但是如果是一个数据控件,里面存的是一些数据,如果用foreach遍历逐项给数据控件添数据的话,每次点击按钮(即刷新页面)都会执行一遍Page_Load,也就是说每次都要重复添加原来的数据,所以这就需要一个判断条件,使它只会第一次启动的时候走Page_Load事件

Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动

看网上JqueryAjax三级联动的例子讲不是很全,代码也给的不是很全,给初学者带来一定的难度.小弟自己写了一个,可能有些地方不是很好,希望大家能够提出建议. 用的是Hibernate+struts2写的.http://blog.csdn.net/luckey_zh/article/details/22995389 以代码来说话吧. 首先是index1.jsp页面 [html] view plaincopy <%@ page language="java" import=&quo

全国最标准的、最完整的省市县三级联动选择 - 大型企业信息化系统集成快速开发平台

在使用通用权限管理系统时,需要经常使用省市县三级联动选择,在网上看到不少这类例子,感觉不是很满足我们的需求, 在使用的时候也用过通用权限系统中的省市县接口,为减少对接口的调用,现将其改为JS文件调用的方式:样式如下 JS文件截图 这个JS文件可根据基础信息中省市县资料的变更重新生成.其自动生成方法调用如下图: 省市县数据基本变化应该很小,为方便大家提供最新生成的JS文件和demo: district.js /* * UPDATE DATE:2015-01-06 22:04:16 songbiao

AJAX省市区三级联动下拉列表实现 JAVA开发

转载自:http://blog.sina.com.cn/s/blog_a48af8c001011lx1.html 例子--District Picker            http://fengyuanchen.github.io/distpicker/ 此小程序的功能主要是采用异步请求方式从数据库中调取省市区信息显示到下拉列表: 代码如下: 建立数据库中的代码和一些配置文件信息就省略了,主要有JavaScript中的代码为: $(document).ready(function(){   

电商商家后台-easyUI的combox三级联动

这几天在做项目中又用到了easyUI,以前做ITOO的时候前端都是被封装好的,而且也没有真正接触过三级联动效果.这个三级联动是要实现的是省市县联动.选择某一个省时跟着相应的市显示,接着相应的县显示. 不仅是这样,因为做的是修改功能,所以不仅要把查出来的省,市,县显示出来,而且从数据库中查询来的地区需要成为默认显示值.也就是说从数据库中查出来的地区跟查出来的所有省市区做对比,是数据库中地区显示为默认.举个例子,数据库中存的是河北省廊坊市燕郊区,那么显示在界面上的默认值也必须是河北省廊坊市燕郊区.这

ajax简介以及用ajax做的三级联动小练习

ajax基本结构: 1 var name = $("#text_1").val(); 2 $.ajax({ 3 url: "Ashxs/Handler.ashx",//一般处理程序路径 4 data: { "name": name },//要传输的数据,冒号前面是键名后面是要传输的数据,如果有多条数据在大括号内用逗号拼接 5 type: "post",//传输方式 6 dataType: "json",//

用DropDownList实现的省市级三级联动

这是一个用DropDownList 实现的省市级三级联动,记录一下········ <asp:ScriptManager ID="ScriptManager1" runat="server">/asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server">                          <Cont

层的三级联动

/部门下拉选单绑定数据        function CreateDeptEntity(dataList) {            var select = "#setdept";            jQuery(select).empty();            jQuery(select).append("<OPTION value=0>请选择</OPTION>");            if (dataList != nu