asp.net jquery ajax数据操作 DropDownList级联

简介: 1、定义一个类 CityCounty.cs文件,如下:using System;using System.

1、定义一个类 CityCounty.cs文件,如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;

/// <summary>
///CityCounty 的摘要说明
/// </summary>
[DataContract]
public class CityCounty
{
    [DataMember]
    private int menu_ID;
    public int Menu_ID
    {
        get { return menu_ID; }
        set { menu_ID = value; }
    }

    [DataMember]
    private string menu_Name;
    public string Menu_Name
    {
        get { return menu_Name; }
        set { menu_Name = value; }
    }
}

2、定义一个Json处理类,ToJson.cs文件,如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization.Json;
using System.IO;

/// <summary>
///JsonHelper 的摘要说明
/// </summary>
public static class JsonHelper
{
    //转换为Json格式输出
    public static string ToJson(this object obj)
    {
        DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
        Stream stream = new MemoryStream();
        serializer.WriteObject(stream, obj);
        stream.Position = 0;
        StreamReader streamReader = new StreamReader(stream);
        return streamReader.ReadToEnd();
    }
}

3、定义Default4.aspx及Default4.aspx.cs文件,如下:

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="jquery.js" type="text/javascript"></script>
    <script type="text/javascript" language="javascript">
        $(function () {
            $("#DropDownList1").change(function () {
                $.ajax({
                    url: "Default5.aspx?id=" + $(this).val(),
                    data: null,
                    dataType: "json",
                    success: function (data) {
                        $("#DropDownList2").empty();
                        //第一种方法
                        //for (var i = 0; i < data.length; i++) {
                        //$("<option value='" + data[i]["menu_ID"] + "'>" + data[i]["menu_Name"] + "</option>").appendTo("#DropDownList2");
                        //}
                        //第二种方法  用下面的方法也能够循环输出 .each方法
                        $.each(data, function (i) {
                            $("<option value='" + data[i]["menu_ID"] + "'>" + data[i]["menu_Name"] + "</option>").appendTo("#DropDownList2");
                        })
                    }
                });
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <div>
            <asp:Label ID="lblone" runat="server" Text="市" />
            <asp:DropDownList ID="DropDownList1" runat="server">
            </asp:DropDownList>
            <asp:Label ID="lbltwo" runat="server" Text="县" />
            <asp:DropDownList ID="DropDownList2" runat="server">
                <asp:ListItem Text="--请选择市--" Value="1"></asp:ListItem>
            </asp:DropDownList>
        </div>
    </div>
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using USTC;
using System.Data;

public partial class Default4 : System.Web.UI.Page
{
    DM dm = new DM();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string strSQL = "select * from UDS_Menu where Menu_ID like '%____00%'";
            DataSet ds = dm.getsql(strSQL);
            this.DropDownList1.DataSource = ds;
            this.DropDownList1.DataTextField = "Menu_Name";
            this.DropDownList1.DataValueField = "Menu_ID";
            this.DropDownList1.DataBind();
            this.DropDownList1.Items.Insert(0,"--请选择城市--");
        }
    }
}


4、定义Default5.aspx及Default5.aspx.cs文件,如下:

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using USTC;
using System.Data;

public partial class TEST_Default5 : System.Web.UI.Page
{
    DM dm = new DM();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            IList<CityCounty> list = new List<CityCounty>();
            string id = Request.QueryString["id"].ToString();
            string strSQL = "select Menu_ID,Menu_Name from UDS_Menu where Super_Menu_ID=" + int.Parse(id);
            DataSet ds = dm.getsql(strSQL);
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                CityCounty c = new CityCounty();
                c.Menu_ID = Convert.ToInt32(ds.Tables[0].Rows[i]["Menu_ID"].ToString());
                c.Menu_Name = ds.Tables[0].Rows[i]["Menu_Name"].ToString();
                list.Add(c);
            }
            Response.Write(list.ToJson());
            Response.End();
        }
    }
}




相关文章
|
SQL 开发框架 数据库
".NET开发者的超能力:AgileEAS.NET ORM带你穿越数据库的迷宫,让数据操作变得轻松又神奇!"
【8月更文挑战第16天】AgileEAS.NET是面向.NET平台的企业应用开发框架,核心功能包括数据关系映射(ORM),允许以面向对象方式操作数据库,无需编写复杂SQL。通过继承`AgileEAS.Data.Entity`创建实体类对应数据库表,利用ORM简化数据访问层编码。支持基本的CRUD操作及复杂查询如条件筛选、排序和分页,并可通过导航属性实现多表关联。此外,提供了事务管理功能确保数据一致性。AgileEAS.NET的ORM简化了数据库操作,提升了开发效率和代码可维护性。
126 5
|
10月前
|
Web App开发 数据采集 前端开发
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
|
前端开发 JavaScript
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
196 0
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
320 3
|
JSON 前端开发 数据格式
layui 穿梭框transfer组件 数据data用ajax来获取
layui 穿梭框transfer组件 数据data用ajax来获取
571 2
|
Web App开发 前端开发 JavaScript
Python编程—Ajax数据爬取(一)
Python编程—Ajax数据爬取(一)
257 0
|
前端开发 NoSQL MongoDB
Python编程—Ajax数据爬取(二)
Python编程—Ajax数据爬取(二)
351 0
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
246 1