本文实例为大家分享了ajax实现无刷新省市县三级联动的具体代码,供大家参考,具体内容如下
效果图:
实现代码:
1、html:
用户名 | |
密码 | |
确认密码 | |
邮箱 | |
地址 | <select id="seprovince"> select> 省 <select id="secity"> select>市 <select id="searea"> select>县 |
2、WebService1.asmx
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace 省市县三级联动 { ////// WebService1 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public ListGetProvince() { BLL.province bpro = new BLL.province(); List list = bpro.GetListModel(); return list; } [WebMethod] public List GetCItyByPro(string proid) { BLL.city bcity = new BLL.city(); List list = bcity.GetListModel("father='" + proid + "'"); return list; } [WebMethod] public List GetAreaByCity(string cityid) { BLL.area barea = new BLL.area(); List list = barea.GetListModel("father='" + cityid + "'"); return list; } } }
在三层的Bll层中的city.cs和area.cs中分别添加以下属性
//city.cs: public ListGetListModel(string strsql) { return dal.GetListModel(strsql); } //area.cs: public List GetListModel(string strsql) { return dal.GetListModel(strsql); }
在三层的DAL层中的city.cs和area.cs中分别添加以下方法
//city.cs: public System.Collections.Generic.ListGetListModel(string strsql) { System.Collections.Generic.List list = new System.Collections.Generic.List (); DataTable dt = GetList(strsql).Tables[0]; foreach (DataRow row in dt.Rows) { Model.city mcity = new Model.city(); mcity.id = Convert.ToInt32(row["id"]); mcity.cityID = row["cityID"].ToString(); mcity.cityname = row["cityname"].ToString(); list.Add(mcity); } return list; } //area.cs: public System.Collections.Generic.List GetListModel(string strsql) { DataTable dt = GetList(strsql).Tables[0]; System.Collections.Generic.List list = new System.Collections.Generic.List (); foreach (DataRow row in dt.Rows) { Model.area marea = new Model.area() { id = Convert.ToInt32(row["id"]), areaID = row["areaID"].ToString(), areaname = row["areaname"].ToString() }; list.Add(marea); } return list; }
以上就是本文的全部内容,希望对大家的学习有所帮助。