省市县三级联动

先在页面上加了这个:

   < asp:ScriptManager ID = " ScriptManager1 "  runat = " server "  AllowCustomErrorsRedirect = " false "

        EnablePartialRendering
= " true "  AsyncPostBackErrorMessage = " cuowu " >

    
</ asp:ScriptManager >
实现功能的控件:

   < asp:UpdatePanel ID = " UpdatePanel1 "  runat = " server " >

                        
< ContentTemplate >

                            
< asp:DropDownList ID = " ddlProvince "  runat = " server " >

                            
</ asp:DropDownList >

                            
< asp:DropDownList ID = " ddlCity "  runat = " server " >

                            
</ asp:DropDownList >

                            
< asp:DropDownList ID = " ddlVilliage "  runat = " server " >

                            
</ asp:DropDownList >

                            
< ajaxToolkit:CascadingDropDown ID = " CascadingDropDown2 "  runat = " server "  TargetControlID = " ddlProvince "

                                ServicePath
= " PCAService.asmx "  ServiceMethod = " GetProvinceContents "  Category = " Province "

                                PromptText
= " 请选择省份 "  LoadingText = " 省份加载中

" >

                            
</ ajaxToolkit:CascadingDropDown >

                            
< ajaxToolkit:CascadingDropDown ID = " CascadingDropDown1 "  runat = " server "  ParentControlID = " ddlProvince "

                                ServicePath
= " PCAService.asmx "  ServiceMethod = " GetCityContents "  Category = " City "

                                TargetControlID
= " ddlCity "  PromptText = " 请选择城市 "  LoadingText = " 城市加载中

" >

                            
</ ajaxToolkit:CascadingDropDown >

                            
< ajaxToolkit:CascadingDropDown ID = " CascadingDropDown3 "  runat = " server "  Category = " Villiage "

                                LoadingText
= " 区县加载中

"  ParentControlID = " ddlCity "  PromptText = " 请选择区县 "  ServiceMethod = " GetViliageContents "

                                ServicePath
= " PCAService.asmx "  TargetControlID = " ddlVilliage " >

                            
</ ajaxToolkit:CascadingDropDown >

                        
</ ContentTemplate >

                    
</ asp:UpdatePanel >
App_Code文件夹下 PCAService.cs文件:

using  System;

using  System.Web;

using  System.Collections;

using  System.Web.Services;

using  System.Web.Services.Protocols;

using  System.Web.Script.Services;

using  System.Collections.Generic;

using  System.Collections.Specialized;

using  AjaxControlToolkit;

using  System.Data.SqlClient;

using  System.Data;

using  System.Configuration;


/// <summary>

///PCAService 的摘要说明

/// </summary>

[WebService(Namespace  =   " http://tempuri.org/ " )]

[WebServiceBinding(ConformsTo 
=  WsiProfiles.BasicProfile1_1)]

[System.Web.Script.Services.ScriptService]

public   class  PCAService : System.Web.Services.WebService

{

    
public SqlConnection sqlConn;


    
public PCAService()

    
{


        
//如果使用设计的组件,请取消注释以下行 

        
//InitializeComponent(); 

        this.sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);

    }


    
/// <summary>

    
/// 获取省份数据

    
/// </summary>

    
/// <param name="knownCategoryValues"></param>

    
/// <param name="category"></param>

    
/// <returns></returns>

    [WebMethod]

    
public CascadingDropDownNameValue[] GetProvinceContents(string knownCategoryValues, string category)

    
{

        List
<CascadingDropDownNameValue> provinceList = new List<CascadingDropDownNameValue>();


        sqlConn.Open();


        
string strSql = "Select * From Province";


        SqlCommand sqlCmd 
= new SqlCommand(strSql, sqlConn);


        SqlDataReader dtrProvince 
= sqlCmd.ExecuteReader();


        
while (dtrProvince.Read())

        
{

            provinceList.Add(
new CascadingDropDownNameValue(dtrProvince["Name"].ToString(), dtrProvince["Code"].ToString()));

        }


        dtrProvince.Close();


        sqlConn.Close();


        
return provinceList.ToArray();

    }

    
/// <summary>

    
/// 获取市数据

    
/// </summary>

    
/// <param name="knownCategoryValues"></param>

    
/// <param name="category"></param>

    
/// <returns></returns>

    [WebMethod]

    
public CascadingDropDownNameValue[] GetCityContents(string knownCategoryValues, string category)

    
{

        StringDictionary provinceList 
= CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);


        sqlConn.Open();


        
string strSql = "Select * From city Where ProvinceId='" + provinceList["Province"+ "'";


        SqlCommand sqlCmd 
= new SqlCommand(strSql, sqlConn);


        SqlDataReader dtrCity 
= sqlCmd.ExecuteReader();


        List
<CascadingDropDownNameValue> cityList = new List<CascadingDropDownNameValue>();


        
while (dtrCity.Read())

        
{

            cityList.Add(
new CascadingDropDownNameValue(dtrCity["Name"].ToString(), dtrCity["code"].ToString()));

        }


        dtrCity.Close();


        
return cityList.ToArray();

    }

    
/// <summary>

    
/// 获取乡镇数据

    
/// </summary>

    
/// <param name="knownCategoryValues"></param>

    
/// <param name="category"></param>

    
/// <returns></returns>

    [WebMethod]

    
public CascadingDropDownNameValue[] GetViliageContents(string knownCategoryValues, string category)

    
{

        StringDictionary cityList 
= CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);


        sqlConn.Open();


        
string strSql = "Select * From area Where CityId='" + cityList["City"+ "'";


        SqlCommand sqlCmd 
= new SqlCommand(strSql, sqlConn);


        SqlDataReader dtrViliage 
= sqlCmd.ExecuteReader();


        List
<CascadingDropDownNameValue> viliageList = new List<CascadingDropDownNameValue>();


        
while (dtrViliage.Read())

        
{

            viliageList.Add(
new CascadingDropDownNameValue(dtrViliage["Name"].ToString(), dtrViliage["id"].ToString()));

        }


        dtrViliage.Close();


        
return viliageList.ToArray();

    }


}

相关文章

1.使用ajax调用varxhr;functioninvoke(){if(window.ActiveXO...
               好不容易把WebService服务器...
1新建一个工程项目用来做服务端增加一个MyService1类文件pac...
packagecom.transsion.util;importjava.io.BufferedReader;i...
再生产wsdl文件时重写描述文件1usingSystem;2usingSystem.Co...
一般情况下,使用eclipse自带的jax-ws生成webservice会自动生...