先在页面上加了这个:
 ??
<
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();
 ????}

 }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|