• AJAX实现DropDownList无刷新二级联动(转载)


    前台代码:
    
    <%@ Page Language="C#" CodeFile="DropDownListDemo.aspx.cs" Inherits="DropDownListDemo" %>
    
    <!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>
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"></asp:DropDownList>
                    <asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList>
                </ContentTemplate>
            </asp:UpdatePanel>
        </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 System.Data.SqlClient;
    
    public partial class DropDownListDemo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            DropDownList1.AutoPostBack = true;
            DropDownList2.AutoPostBack = true;
            if (!IsPostBack)
            {
                DropDownList1.Items.Add("----请选择----");
                DropDownList2.Items.Add("----请选择----");
                BindDDL("SELECT 列名1,列名2 FROM 表名", DropDownList1);
                DropDownList2.Enabled = false;
            }
            else if (DropDownList1.SelectedIndex == 0)
            {
                DropDownList2.Enabled = false;
            }
        }
        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList2.Items.Clear();
            DropDownList2.Items.Add("----请选择----");
            if (DropDownList1.SelectedIndex == 0)
            {
                DropDownList2.Enabled = false;
            }
            else
            {
                DropDownList2.Enabled = true;
                BindDDL("SELECT 列名1,列名2 FROM 表名 WHERE 条件1 = '" + DropDownList1.SelectedValue + "'", DropDownList2);
            }
        }
        protected void BindDDL(string queryString, DropDownList ddl)
        {
            string connectionString = "Data Source=****;Initial Catalog=****;User ID=****;Password=****";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand(queryString, connection);
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    ddl.Items.Add(new ListItem(reader[0].ToString(), reader[1].ToString()));
                }
                reader.Close();
            }
        }
    }
    

     

    原文地址:http://blog.sina.com.cn/s/blog_3d9600900100pg1i.html

    再次感谢作者的分享。

  • 相关阅读:
    SQL查询效率100w数据查询只要1秒
    超级实用且不花哨的js代码大全 (四) JavaScript[对象.属性]集锦
    Sql Server实用操作维护小技巧集合
    asp.net截取字符串方法
    自己整理的asp.net 缓存 相关资料
    【译】初识SSRS 通向报表服务的阶梯系列(一)
    【译】无处不在的数据 通向报表服务的阶梯系列(三)
    【译】SSRS基础 通向报表服务的阶梯系列(二)
    浅谈SQL Server中的事务日志(三)在简单恢复模式下日志的角色
    SQL Server中生成测试数据
  • 原文地址:https://www.cnblogs.com/for917157ever/p/3668441.html
Copyright © 2020-2023  润新知