ajax实现无刷新省市县三级联动

这篇文章主要为大家详细介绍了ajax实现无刷新省市县三级联动的相关资料,利用三层架构实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了ajax实现无刷新省市县三级联动的具体代码,供大家参考,具体内容如下

效果图:

实现代码:

1、html:

    
用户名
密码
确认密码
邮箱
地址

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 List GetProvince() { 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 List GetListModel(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.List GetListModel(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; }

以上就是本文的全部内容,希望对大家的学习有所帮助。

以上就是ajax实现无刷新省市县三级联动的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读