Linq+jQuery+级联

原创 2012年03月23日 11:21:47
测试数据
create table Country(
cntID int not null,
cntName nvarchar(10) not null
)

create table City(
citID int not null,
cntID int not null,
citName nvarchar(10) not null
)

insert into Country 
select 1,N'中国'
union select 2,N'美国'

insert into City
select 1,1,N'北京'
union select 2,1,N'上海'
union select 3,2,N'纽约'
union select 4,2,N'华盛顿'


前台代码

<head runat="server">
    <title></title>
    
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="scriptmanager" runat="server" EnablePageMethods="true"></asp:ScriptManager>
    <%--使用PageMethods 方法需要加入asp:ScriptManager--%>
    <script type="text/javascript">
        $(function () {
            $('#ddl_Country').change(ddlCountryChange);

        });

        function ddlCountryChange() {
            var $cnt = $('#ddl_Country');
            PageMethods.ddl_CityDataBind($cnt.val(), getCnt_callback)

        }

        function getCnt_callback(data) {
            var $cty = $('#ddl_City');
            $cty.empty();
            if (data == '') return;
            $("" + data).appendTo($cty);
        }
    </script>
    <div>
         <asp:DropDownList ID="ddl_Country" runat="server" Width="100px" ></asp:DropDownList>
         <asp:DropDownList ID="ddl_City" runat="server" Width="100px"></asp:DropDownList>
    </div>
    </form>
</body>

后台代码

//使用DataClass连接数据库,用于编写linq语句
        private static DataClasses1DataContext table = new DataClasses1DataContext();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                ddlBind();
        }

        #region ddl bind
        private void ddlBind()
        {
            ddl_CountryDataBind();
            ddl_CityDataBind();
        }

        // ddl_Country databind
        private void ddl_CountryDataBind()
        {

            var cntBind = from cnt in table.Countries
                          select new { cnt.cntID, cnt.cntName };
            ddl_Country.DataSource = cntBind;
            ddl_Country.DataTextField = "cntName";
            ddl_Country.DataValueField = "cntID";
            ddl_Country.DataBind();

            ddl_Country.Items.Insert(0, new ListItem("请选择", ""));

        }

        //ddl_City databind
        private void ddl_CityDataBind()
        {
            var citBind = from cty in table.Cities
                          select new { cty.citID, cty.citName };

            ddl_City.DataSource = citBind;
            ddl_City.DataTextField = "citName";
            ddl_City.DataValueField = "citID";
            ddl_City.DataBind();

            ddl_City.Items.Insert(0, new ListItem("请选择", ""));

        }

        [WebMethod]
        public static string ddl_CityDataBind(string ctID)
        {
            string dtbind = string.Empty;
            dtbind = "<option value=''>请选择</option>";

            if (string.IsNullOrEmpty(ctID))
                return dtbind;

            //linq 语句,改语句等价于
            // select cty.citID,cty.citName from City cty where cty.cntID=ctID
            var citBind = from cty in table.Cities
                          where cty.cntID == Convert.ToInt32(ctID)
                          select new { cty.citID, cty.citName };

            foreach (var cty in citBind)
            {
                dtbind = dtbind + "<option value='" + cty.citID + "'>" + cty.citName + "</option>";
            }

            return dtbind;
                        
        }
        #endregion


mybatis 级联的两种形式

http://legend2011.blog.51cto.com/3018495/940072 一、嵌套的resultMap       这种方法本质上就是上篇博文介绍的方法,只是把教...
  • legend_x
  • legend_x
  • 2013年09月22日 06:49
  • 3137

sql 添加级联删除和级联更新

添加级联删除 : mysql> alter table t_orderitem add constraint `FK...` foreign key (oid) references t_order...
  • qq_34771403
  • qq_34771403
  • 2017年06月16日 19:12
  • 1318

级联算法

  • u013101178
  • u013101178
  • 2015年04月10日 14:07
  • 503

矩阵的级联顺序与坐标系的关系

1). 变换的时候,坐标系的选取是必需的 物体的方位都是相对的,选定参考坐标系才能描述方位。一般参考坐标系可以分为两种:1.全局/固定坐标系 2.局部坐标系/物体坐标系。故名思义,前者是...
  • dhasuhf
  • dhasuhf
  • 2014年08月06日 10:25
  • 714

Mysql 主从从级联复制

需求:三个服务器A->B->C级联主从 版本: 数据库 mysql 5.6_64bit_binary_install                            操作系统: r...
  • lmocm
  • lmocm
  • 2014年12月24日 16:31
  • 2577

Mybatis 级联插入更新

刚开始接触Mybatis,在进行级联插入更新时发现不是很方便: 现有表A和B,B表的主键为A表的外键,先有需求是,插入一条B,并且与B关联的A也随之更新其外键。 所做的方式是先Save一条B, ...
  • liyantianmin
  • liyantianmin
  • 2014年12月11日 19:08
  • 4121

css中的层叠(级联)的含义

CSS的全名叫做Cascading Style Sheets,译为层叠样式表
  • jiangxindu1
  • jiangxindu1
  • 2014年10月03日 13:37
  • 1673

SQL 级联更新,级联删除的概念

SQL级联更新,级联删除 今天做了个测试,搞清楚了级联更新,级联删除 级联删除:当我们没有对键加级联删除的时候,删除主键表中的数据(外键表有引用的数据)时,会报错,不能删除,必须先把相关联的外键数据...
  • guang_jing
  • guang_jing
  • 2013年11月25日 12:47
  • 2735

Ext ComboBox级联菜单方法

Js代码 var fatherType = new Ext.form.ComboBox({                     name:'fatherType',                ...
  • riyuecao316
  • riyuecao316
  • 2010年06月18日 20:32
  • 3202

级联相关神经网络

介绍一般的神经网络是固定好拓扑结构,然后训练权重和阈值。级联相关神经网络是从一个小网络开始,自动训练和添加隐含单元,最终形成一个多层的结构。...
  • xc_xc_xc
  • xc_xc_xc
  • 2016年11月14日 19:58
  • 1843
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linq+jQuery+级联
举报原因:
原因补充:

(最多只允许输入30个字)