CascadingDropDown控件----级联下拉菜单

功能:
        用来附加到一个ASP.NET DropDownList控件之上,以便自动产生一整组DropDownList控件中的选项,以供用户选择。

属性:        

TargetControlID

指定要扩展的DropDownListID

Category

DropDownList表示的类别名称,在WebMethod中会用到

PromptText

没有选择时显示的文字

LoadingText

加载数据时显示的文字

ServicePath

获取数据的Web Service,为每个DropDownList都要指定

ServiceMethod

获取数据的Web Method

ParentControlID

要扩展的DropDownList的父控件ID

SelectedValue

默认的选择项的值


实例代码:
    aspx页面:
    
CascadingDropDown控件----级联下拉菜单<html xmlns="http://www.w3.org/1999/xhtml">
CascadingDropDown控件----级联下拉菜单
<head id="Head1" runat="server">
CascadingDropDown控件----级联下拉菜单    
<title>示范如何使用“级联下拉菜单”(CascadingDropDown)</title>
CascadingDropDown控件----级联下拉菜单    
<link href="style.css" type="text/css" rel="Stylesheet" />
CascadingDropDown控件----级联下拉菜单
</head>
CascadingDropDown控件----级联下拉菜单
<body onload="focus();">
CascadingDropDown控件----级联下拉菜单    
<div class="banner">
CascadingDropDown控件----级联下拉菜单        
<href="http://abcdwxc.cnblogs.com/" target="_blank">
CascadingDropDown控件----级联下拉菜单            级联下拉菜单的使用(CascadingDropDown控件)------王晓成博客
CascadingDropDown控件----级联下拉菜单        
</a>
CascadingDropDown控件----级联下拉菜单    
</div>
CascadingDropDown控件----级联下拉菜单    
<div class="description">
CascadingDropDown控件----级联下拉菜单        
<ul>
CascadingDropDown控件----级联下拉菜单            
<li>从第一个下拉列表框选择某一个<strong>“县市”</strong>之后,用来选择<strong>“乡镇区市”</strong>的下拉列表框就可以进行选取。 </li>
CascadingDropDown控件----级联下拉菜单            
<li>从第二个下拉列表框选择某一个<strong>“乡镇区市”</strong>之后,便可以查看该乡镇区市的邮政编码。 </li>
CascadingDropDown控件----级联下拉菜单        
</ul>
CascadingDropDown控件----级联下拉菜单    
</div>
CascadingDropDown控件----级联下拉菜单    
<form id="form1" runat="server">
CascadingDropDown控件----级联下拉菜单        
<asp:ScriptManager ID="ScriptManager1" runat="server">
CascadingDropDown控件----级联下拉菜单        
</asp:ScriptManager>
CascadingDropDown控件----级联下拉菜单        
<center>
CascadingDropDown控件----级联下拉菜单        
<table border="1" width="480px">
CascadingDropDown控件----级联下拉菜单            
<tr>
CascadingDropDown控件----级联下拉菜单                
<td style="width: 340px; height: 29px; text-align: right;">
CascadingDropDown控件----级联下拉菜单                    请选择县市:
</td>
CascadingDropDown控件----级联下拉菜单                
<td style="width: 140px; height: 29px;">
CascadingDropDown控件----级联下拉菜单                    
<asp:DropDownList ID="ddlCityName" runat="server">
CascadingDropDown控件----级联下拉菜单                    
</asp:DropDownList></td>
CascadingDropDown控件----级联下拉菜单            
</tr>
CascadingDropDown控件----级联下拉菜单            
<tr>
CascadingDropDown控件----级联下拉菜单                
<td style="width: 340px; text-align: right;">
CascadingDropDown控件----级联下拉菜单                    请选择乡镇区市:
</td>
CascadingDropDown控件----级联下拉菜单                
<td style="width: 140px">
CascadingDropDown控件----级联下拉菜单                    
<asp:DropDownList ID="ddlSubAreaName" runat="server" AutoPostBack="True" 
CascadingDropDown控件----级联下拉菜单                        onselectedindexchanged
="ddlSubAreaName_SelectedIndexChanged">
CascadingDropDown控件----级联下拉菜单                    
</asp:DropDownList></td>
CascadingDropDown控件----级联下拉菜单            
</tr>
CascadingDropDown控件----级联下拉菜单            
<tr>
CascadingDropDown控件----级联下拉菜单                
<td style="width: 340px; text-align: right;">
CascadingDropDown控件----级联下拉菜单                    邮政编码:
</td>
CascadingDropDown控件----级联下拉菜单                
<td style="width: 140px">
CascadingDropDown控件----级联下拉菜单                    
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
CascadingDropDown控件----级联下拉菜单                        
<ContentTemplate>
CascadingDropDown控件----级联下拉菜单                            
<asp:TextBox ID="TextBoxZipCode" runat="server"></asp:TextBox>
CascadingDropDown控件----级联下拉菜单                        
</ContentTemplate>
CascadingDropDown控件----级联下拉菜单                        
<Triggers>
CascadingDropDown控件----级联下拉菜单                            
<asp:AsyncPostBackTrigger ControlID="ddlSubAreaName" EventName="SelectedIndexChanged" />
CascadingDropDown控件----级联下拉菜单                        
</Triggers>
CascadingDropDown控件----级联下拉菜单                    
</asp:UpdatePanel>
CascadingDropDown控件----级联下拉菜单                
</td>
CascadingDropDown控件----级联下拉菜单            
</tr>
CascadingDropDown控件----级联下拉菜单        
</table>
CascadingDropDown控件----级联下拉菜单        
</center>
CascadingDropDown控件----级联下拉菜单        
<br />        
CascadingDropDown控件----级联下拉菜单        
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown1" runat="server" Category="City"
CascadingDropDown控件----级联下拉菜单            LoadingText
="读取县市数据中CascadingDropDown控件----级联下拉菜单" PromptText="请选择县市名称" ServiceMethod="GetCityNames" ServicePath="ZipCodeWebService.asmx"
CascadingDropDown控件----级联下拉菜单            TargetControlID
="ddlCityName">
CascadingDropDown控件----级联下拉菜单        
</ajaxToolkit:CascadingDropDown>
CascadingDropDown控件----级联下拉菜单        
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown2" runat="server" Category="SubArea"
CascadingDropDown控件----级联下拉菜单            LoadingText
="读取乡镇区市数据中CascadingDropDown控件----级联下拉菜单" ParentControlID="ddlCityName" PromptText="请选择乡镇区市"
CascadingDropDown控件----级联下拉菜单            ServiceMethod
="GetSubAreaByCityID" ServicePath="ZipCodeWebService.asmx" TargetControlID="ddlSubAreaName">
CascadingDropDown控件----级联下拉菜单        
</ajaxToolkit:CascadingDropDown>
CascadingDropDown控件----级联下拉菜单    
</form>
CascadingDropDown控件----级联下拉菜单
</body>
CascadingDropDown控件----级联下拉菜单
</html>
CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单
CS页面: 
CascadingDropDown控件----级联下拉菜单   protected void ddlSubAreaName_SelectedIndexChanged(object sender, EventArgs e)
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单    
CascadingDropDown控件----级联下拉菜单{
CascadingDropDown控件----级联下拉菜单        
//将邮政编码显示在文字方块中。
CascadingDropDown控件----级联下拉菜单
        this.TextBoxZipCode.Text = this.ddlSubAreaName.SelectedItem.Value;
CascadingDropDown控件----级联下拉菜单    }

CascadingDropDown控件----级联下拉菜单
编写相应的WebServices:
CascadingDropDown控件----级联下拉菜单using System;
CascadingDropDown控件----级联下拉菜单
using System.Linq;
CascadingDropDown控件----级联下拉菜单
using System.Web;
CascadingDropDown控件----级联下拉菜单
using System.Collections;
CascadingDropDown控件----级联下拉菜单
using System.Collections.Generic;
CascadingDropDown控件----级联下拉菜单
using System.Web.Services;
CascadingDropDown控件----级联下拉菜单
using System.Web.Services.Protocols;
CascadingDropDown控件----级联下拉菜单
using System.Xml.Linq;
CascadingDropDown控件----级联下拉菜单
using System.Data.SqlClient;
CascadingDropDown控件----级联下拉菜单
using System.Web.Script.Services;
CascadingDropDown控件----级联下拉菜单
using AjaxControlToolkit;
CascadingDropDown控件----级联下拉菜单
using System.Data;
CascadingDropDown控件----级联下拉菜单
using System.Web.Configuration;
CascadingDropDown控件----级联下拉菜单
using System.Configuration;
CascadingDropDown控件----级联下拉菜单
using System.Collections.Specialized;
CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单
/**//// <summary>
CascadingDropDown控件----级联下拉菜单
/// Summary description for ZipCodeWebService
CascadingDropDown控件----级联下拉菜单
/// </summary>

CascadingDropDown控件----级联下拉菜单[WebService(Namespace = "http://tempuri.org/")]
CascadingDropDown控件----级联下拉菜单[WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
CascadingDropDown控件----级联下拉菜单
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
CascadingDropDown控件----级联下拉菜单
 [System.Web.Script.Services.ScriptService]
CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单
public class ZipCodeWebService : System.Web.Services.WebService CascadingDropDown控件----级联下拉菜单{
CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单    
public ZipCodeWebService () CascadingDropDown控件----级联下拉菜单{
CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单        
//Uncomment the following line if using designed components 
CascadingDropDown控件----级联下拉菜单        
//InitializeComponent(); 
CascadingDropDown控件----级联下拉菜单
    }

CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单    [WebMethod]
CascadingDropDown控件----级联下拉菜单    
public CascadingDropDownNameValue[] GetCityNames(string knownCategoryValues, string category)
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单    
CascadingDropDown控件----级联下拉菜单{
CascadingDropDown控件----级联下拉菜单         
//声明 CascadingDropDownNameValue 数组。        
CascadingDropDown控件----级联下拉菜单
        List<CascadingDropDownNameValue> values =new List<CascadingDropDownNameValue>();
CascadingDropDown控件----级联下拉菜单        
//Dim values As New Generic.List(Of CascadingDropDownNameValue)
CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单        
// 取得 web.config 中的数据库联机字符串设定来建立 SQL 联机对象。
CascadingDropDown控件----级联下拉菜单
        string connectionString = ConfigurationManager.ConnectionStrings["County"].ConnectionString;
CascadingDropDown控件----级联下拉菜单        SqlConnection connection 
= new SqlConnection(connectionString);        
CascadingDropDown控件----级联下拉菜单        SqlCommand command 
= new SqlCommand("SELECT CName, CID FROM County");
CascadingDropDown控件----级联下拉菜单        command.Connection 
= connection;
CascadingDropDown控件----级联下拉菜单        
// 开启数据库连接并将数据读入数据读取器中。
CascadingDropDown控件----级联下拉菜单
        connection.Open();
CascadingDropDown控件----级联下拉菜单        SqlDataReader sdr 
= command.ExecuteReader();
CascadingDropDown控件----级联下拉菜单        
while (sdr.Read())
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单        
CascadingDropDown控件----级联下拉菜单{
CascadingDropDown控件----级联下拉菜单           
// 将「县市名称」与「县市代号」新增到数组中。
CascadingDropDown控件----级联下拉菜单
            values.Add(new CascadingDropDownNameValue(sdr.GetSqlChars(0).Value.ToString(),sdr.GetInt32(1).ToString()));
CascadingDropDown控件----级联下拉菜单        }

CascadingDropDown控件----级联下拉菜单        
return values.ToArray();        
CascadingDropDown控件----级联下拉菜单    }

CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单    
public CascadingDropDownNameValue[] GetSubAreaByCityID(string knownCategoryValues, string category)
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单    
CascadingDropDown控件----级联下拉菜单{
CascadingDropDown控件----级联下拉菜单        StringDictionary kv 
= CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
CascadingDropDown控件----级联下拉菜单        
int cityID;
CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单        
if (!kv.ContainsKey("cityID"|| !Int32.TryParse(kv["cityID"], out cityID))
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单        
CascadingDropDown控件----级联下拉菜单{
CascadingDropDown控件----级联下拉菜单            
return null;
CascadingDropDown控件----级联下拉菜单        }

CascadingDropDown控件----级联下拉菜单       
// 声明 CascadingDropDownNameValue 数组。
CascadingDropDown控件----级联下拉菜单
        List<CascadingDropDownNameValue> values = new List<CascadingDropDownNameValue>();
CascadingDropDown控件----级联下拉菜单        
// 取得 web.config 中的数据库联机字符串设定来建立 SQL 联机对象。
CascadingDropDown控件----级联下拉菜单
        string connectionString = ConfigurationManager.ConnectionStrings["County"].ConnectionString;
CascadingDropDown控件----级联下拉菜单        SqlConnection connection 
= new SqlConnection(connectionString);
CascadingDropDown控件----级联下拉菜单        SqlCommand command 
= new SqlCommand(@"ELECT VName, VCode FROM Village WHERE CountyID =" + cityID);
CascadingDropDown控件----级联下拉菜单        
// 开启数据库连接并将数据读入数据读取器中。
CascadingDropDown控件----级联下拉菜单
        connection.Open();
CascadingDropDown控件----级联下拉菜单        SqlDataReader sdr 
= command.ExecuteReader();
CascadingDropDown控件----级联下拉菜单        
while (sdr.Read())
CascadingDropDown控件----级联下拉菜单CascadingDropDown控件----级联下拉菜单        
CascadingDropDown控件----级联下拉菜单{
CascadingDropDown控件----级联下拉菜单         
// 将「乡镇区市名称」与「邮政编码」新增到数组中。
CascadingDropDown控件----级联下拉菜单
            values.Add(new CascadingDropDownNameValue(sdr.GetSqlString(0).ToString(), sdr.GetSqlString(1).ToString()));
CascadingDropDown控件----级联下拉菜单        }

CascadingDropDown控件----级联下拉菜单        
return values.ToArray();        
CascadingDropDown控件----级联下拉菜单    }

CascadingDropDown控件----级联下拉菜单}

CascadingDropDown控件----级联下拉菜单
CascadingDropDown控件----级联下拉菜单

运行结果:
    CascadingDropDown控件----级联下拉菜单

CascadingDropDown控件----级联下拉菜单

转载于:https://www.cnblogs.com/abcdwxc/archive/2007/10/30/943358.html