• 主攻ASP.NET.3.5.MVC架构之重生:省、市,区三级联动(八)


    效果图

            Models/Repository
            ----------------------------------------------------------------------------
            //ProvinceRepository.cs.cs
            /// <summary>
            
    /// 获取一个实体
            
    /// </summary>
            
    /// <param name="id"></param>
            
    /// <returns></returns>
            public S_Province GetModel(int id)
            {
                return context.S_Province.FirstOrDefault(d => d.ProvinceID== id);
            }

            /// <summary>
            
    /// 获取实体列表
            
    /// </summary>
            
    /// <returns></returns>
            public IQueryable<S_Province> GetModelList()
            {
                return context.S_Province.OrderBy(d => d.ProvinceID);
            }
            
            //CityRepository.cs
             /// <summary>
            
    /// 获取一个实体
            
    /// </summary>
            
    /// <param name="id"></param>
            
    /// <returns></returns>
            public S_City GetModel(int id)
            {
                return context.S_City.FirstOrDefault(d => d.CityID == id);
            }

            /// <summary>
            
    /// 获取实体列表
            
    /// </summary>
            
    /// <returns></returns>
            public IQueryable<S_City> GetModelList()
            {
                return context.S_City.OrderBy(d => d.CityID);
            }

            /// <summary>
            
    /// 根据省份ID获取实体列表
            
    /// </summary>
            
    /// <returns></returns>
            public IQueryable<S_City> GetModelListByProvince(int provinceid)
            {
                return GetModelList().Where(d => d.ProvinceID == provinceid);
            }
            
            
            
            //DistrictRepository.cs
             /// <summary>
            
    /// 获取一个实体
            
    /// </summary>
            
    /// <param name="id"></param>
            
    /// <returns></returns>
            public S_District GetModel(int id)
            {
                return context.S_District.FirstOrDefault(d => d.CityID == id);
            }

            /// <summary>
            
    /// 获取实体列表
            
    /// </summary>
            
    /// <returns></returns>
            public IQueryable<S_District> GetModelList()
            {
                return context.S_District.OrderBy(d => d.DistrictID);
            }
            /// <summary>
            
    /// 根据城市ID获取实体列表
            
    /// </summary>
            
    /// <returns></returns>
            public IQueryable<S_District> GetModelListByCity(int cityid)
            {
                return GetModelList().Where(d => d.CityID== cityid);
            }
            
            
            Controller
            ----------------------------------------------------------------------------
            ProvinceRepository provincerepository = new ProvinceRepository();
            CityRepository cityrepository = new CityRepository();
            DistrictRepository districtrepository = new DistrictRepository();

            public ActionResult Index()
            {

                return View();
            }
            public JsonResult GetProvince()
            {
                IQueryable<S_Province> queryResult = provincerepository.GetModelList();
                return Json(queryResult.ToList(), JsonRequestBehavior.AllowGet);
            }
            public JsonResult GetCity(string id)
            {
                IQueryable<S_City> queryResult = cityrepository.GetModelListByProvince(int.Parse(id));
                return Json(queryResult.ToList(), JsonRequestBehavior.AllowGet);
            }
            public JsonResult GetDistrict(string id)
            {
                IQueryable<S_District> queryResult = districtrepository.GetModelListByCity(int.Parse(id));
                return Json(queryResult.ToList(), JsonRequestBehavior.AllowGet);
            }
            
            View
            -----------------------------------------------------------------------------------------
             <script src="@Url.Content("~/Content/admin/scripts/jquery-1.4.2.min.js")" type="text/javascript"></script>
            <script type="text/javascript">

            $(document).ready(function () {
                GetByProvince();
                $("#ddlSProvince").change(function () { GetByCity() });
                $("#ddlSCity").change(function () { GetByDistrict() }); 
            });
            function GetByProvince() {
                $("#ddlSProvince").empty();
                $.getJSON("/VipUser/Register/GetProvince", function (data) {
                    $.each(data, function (i, item) {
                        $("<option></option>")
                                            .val(item["ProvinceID"])
                                            .text(item["ProvinceName"])
                                            .appendTo($("#ddlSProvince"));
                    });
                    GetByCity();
                });
            }
            function GetByCity() {
                $("#ddlSCity").empty();

                var url = "/VipUser/Register/GetCity/" + $("#ddlSProvince").val() + "/";

                $.getJSON(url, function (data) {

                    $.each(data, function (i, item) {
                        $("<option></option>")
                                            .val(item["CityID"])
                                            .text(item["CityName"])
                                            .appendTo($("#ddlSCity"));
                    });
                    GetByDistrict();
                });
            }
            function GetByDistrict() {
                $("#ddlSDistrict").empty();
                var url = "/VipUser/Register/GetDistrict/" + $("#ddlSCity").val() + "/";

                $.getJSON(url, function (data) {

                    $.each(data, function (i, item) {
                        $("<option></option>")
                                            .val(item["DistrictID"])
                                            .text(item["DistrictName"])
                                            .appendTo($("#ddlSDistrict"));
                    });

                });
            }
            </script>
            
             <label for="text_area">
                    省份:</label><select name="select_element" id="ddlSProvince">
                    
                    </select>
                <label for="text_area">
                    城市:</label><select name="select_element" id="ddlSCity">
                    
                    </select>
                <label for="text_area">
                    市区:</label><select name="select_element" id="ddlSDistrict">
                    </select>
  • 相关阅读:
    Maven的安装及更改下载仓库
    maven如何配置
    hibernate+mysql的连接池配置
    Hibernate配置方式
    如何获得Webapp的根项目路径 即ServletContext.getRealPath() 的输入参数要以"/"开头
    JAVA WEB项目中各种路径的获取
    java创建文件和目录
    Button或者ImageButton的背景设为透明或者半透明
    ScrollView中嵌套ListView的问题
    Android中RelativeLayout各个属性的含义
  • 原文地址:https://www.cnblogs.com/cube/p/2744806.html
Copyright © 2020-2023  润新知