使用CascadingDropDown实现国家省市联动控件
2010-07-30 14:30
459 查看
首先放三个DropDownList控件和,和CascadingDropDown控件,并设置属性如下:
(不要忘记在页首放置Script Manager)
然后在后台新建一个提供数据的WebService,代码如下:
All Right,It's done.
(不要忘记在页首放置Script Manager)
]<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DropDownList ID="ddlCountry" runat="server" AutoPostBack="true"> </asp:DropDownList> <asp:DropDownList ID="ddlProvince" runat="server" AutoPostBack="true"> </asp:DropDownList> <asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true"> </asp:DropDownList> <cc1:CascadingDropDown ID="CascadingDropDown1" runat="server" LoadingText="Loading...." PromptText="请选择" TargetControlID="ddlCountry" ServiceMethod="GetCountry" ServicePath="WebService.asmx" Category="Country" ParentControlID=""> </cc1:CascadingDropDown> <cc1:CascadingDropDown ID="CascadingDropDown2" runat="server" LoadingText="Loading...." PromptText="请选择" TargetControlID="ddlProvince" ParentControlID="ddlCountry" SelectedValue="" Category="Province" ServicePath="WebService.asmx" ServiceMethod="GetProvince"> </cc1:CascadingDropDown> <cc1:CascadingDropDown ID="CascadingDropDown3" runat="server" LoadingText="Loading...." PromptText="请选择" TargetControlID="ddlCity" ParentControlID="ddlProvince" SelectedValue="" Category="City" ServicePath="WebService.asmx" ServiceMethod="GetCity"> </cc1:CascadingDropDown> </ContentTemplate> </asp:UpdatePanel>
然后在后台新建一个提供数据的WebService,代码如下:
]/// <summary> /// Summary description for WebService /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(true)] [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { [WebMethod] public CascadingDropDownNameValue[] GetCountry(string knownCategoryValues, string category) { DataTable dt = new DataTable(); dt.Columns.Add("Country", typeof(string)); dt.Columns.Add("ID", typeof(int)); DataRow dr1 = dt.NewRow(); dr1["ID"] = 1; dr1["Country"] = "中国"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 2; dr2["Country"] = "日本"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 3; dr3["Country"] = "美国"; dt.Rows.Add(dr3); List<CascadingDropDownNameValue> values = new List<CascadingDropDownNameValue>(); foreach (DataRow dr in dt.Rows) { string sEmployee = (string)dr["Country"]; int iEmployee = (int)dr["ID"]; values.Add(new CascadingDropDownNameValue(sEmployee, iEmployee.ToString())); } return values.ToArray(); } [WebMethod] public CascadingDropDownNameValue[] GetProvince(string knownCategoryValues, string category) { StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues); int iEmployee; if (!kv.ContainsKey("Country") || !Int32.TryParse(kv["Country"], out iEmployee)) { return null; } DataTable dt = new DataTable(); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("Province", typeof(string)); if (iEmployee == 1) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 11; dr1["Province"] = "江苏"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 12; dr2["Province"] = "陕西"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 13; dr3["Province"] = "四川"; dt.Rows.Add(dr3); } else if (iEmployee == 2) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 21; dr1["Province"] = "本洲岛"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 22; dr2["Province"] = "九州"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 23; dr3["Province"] = "四国"; dt.Rows.Add(dr3); } else if (iEmployee == 3) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 31; dr1["Province"] = "加利福尼亚"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 32; dr2["Province"] = "佛罗里达"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 33; dr3["Province"] = "得克萨斯"; dt.Rows.Add(dr3); } List<CascadingDropDownNameValue> values = new List<CascadingDropDownNameValue>(); foreach (DataRow dr in dt.Rows) { string sOrder = dr["Province"].ToString(); int iOrder = (int)dr["ID"]; values.Add(new CascadingDropDownNameValue(sOrder, iOrder.ToString())); } return values.ToArray(); } [WebMethod] public CascadingDropDownNameValue[] GetCity(string knownCategoryValues, string category) { StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues); int iOrder; if (!kv.ContainsKey("Province") || !Int32.TryParse(kv["Province"], out iOrder)) { return null; } DataTable dt = new DataTable(); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("City", typeof(string)); if (iOrder == 11) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 111; dr1["City"] = "南京"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 113; dr2["City"] = "苏州"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 113; dr3["City"] = "扬州"; dt.Rows.Add(dr3); } else if (iOrder == 12) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 121; dr1["City"] = "西安市"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 122; dr2["City"] = "榆林市"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 123; dr3["City"] = "渭南市"; dt.Rows.Add(dr3); } else if (iOrder == 13) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 131; dr1["City"] = "成都市"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 132; dr2["City"] = "都江堰市"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 133; dr3["City"] = "绵阳市"; dt.Rows.Add(dr3); } else if (iOrder == 21) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 211; dr1["City"] = "东京都"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 212; dr2["City"] = "京都府"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 213; dr3["City"] = "大阪府"; dt.Rows.Add(dr3); } else if (iOrder == 22) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 221; dr1["City"] = "长崎县"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 222; dr2["City"] = "冲绳县"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 223; dr3["City"] = "宫崎县"; dt.Rows.Add(dr3); } else if (iOrder == 23) { DataRow dr1 = dt.NewRow(); dr1["ID a235 "] = 231; dr1["City"] = "徳岛县"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 232; dr2["City"] = "香川县"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 233; dr3["City"] = "高知县"; dt.Rows.Add(dr3); } else if (iOrder == 31) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 311; dr1["City"] = "萨克拉门托"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 312; dr2["City"] = "洛杉矶"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 313; dr3["City"] = "圣弗朗西斯科"; dt.Rows.Add(dr3); } else if (iOrder == 32) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 321; dr1["City"] = "迈阿密"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 322; dr2["City"] = "杰克逊维尔"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 323; dr3["City"] = "圣彼得斯堡"; dt.Rows.Add(dr3); } else if (iOrder == 33) { DataRow dr1 = dt.NewRow(); dr1["ID"] = 331; dr1["City"] = "休斯敦"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 332; dr2["City"] = "达拉斯"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 333; dr3["City"] = "奥斯汀"; dt.Rows.Add(dr3); } List<CascadingDropDownNameValue> values = new List<CascadingDropDownNameValue>(); foreach (DataRow dr in dt.Rows) { string UnitPrice = dr["City"].ToString(); int intOrder = (int)dr["ID"]; values.Add(new CascadingDropDownNameValue(UnitPrice, intOrder.ToString())); } return values.ToArray(); } } }
All Right,It's done.
相关文章推荐
- Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)
- picker控件详解与使用,(实现省市的二级联动)
- Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)
- Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)
- Java框架SSH结合Easyui控件实现省市县三级联动示例解析
- 使用vuejs实现省市联动下拉框
- Swift - 省市县三级联动功能的实现(使用UIPickerView选择框)
- 用.net实现注册用户使用RadioButtonList,DropDownList与数据库绑定,使用DropDownList实现省市联动
- 基于bootstrap的城市选择器 省市县(区)联动下拉控件的使用
- 使用javascript解析xml实现省市县三级联动
- jQuery解析xml文件,使用get方法实现省市县三级联动下拉框
- DropDownList控件实现省市联动(AJAX实现)
- JSON+HTML实现国家省市联动选择效果
- DropDownList控件实现省市联动(AJAX实现)
- JSP页面使用JSON和ajax实现省市联动
- 使用AJAX+php+mysql实现省市县三级联动
- 使用Spinner实现省市三级联动
- 使用AJAX+php+mysql实现省市县三级联动
- Android使用android-wheel实现省市县三级联动
- JS实现国家省市三级无刷新联动