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

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

效果图:

ajax实现无刷新省市县三级联动_第1张图片

实现代码:

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实现无刷新省市县三级联动)