视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MVC4.0搭建的省市县三联动,包含数据库
2020-11-09 07:23:27 责编:小采
文档


才学的MVC哈。 最近有个需要,从数据库读取省市县表的数据,通过MVC4搭建的程序展现出来,网上找了很多资料,都没一个全的,能用的,就自己动手。 一、建立MVC项目:City 二、创建数据模型 CityModel 三个表:T_Province 省份,T_City 城市,T_District 区县

才学的MVC哈。

最近有个需要,从数据库读取省市县表的数据,通过MVC4搭建的程序展现出来,网上找了很多资料,都没一个全的,能用的,就自己动手。


一、建立MVC项目:City

二、创建数据模型

CityModel

三个表: T_Province 省份,T_City 城市,T_District 区县

USE [liandong]
GO
/****** Object: Table [dbo].[T_Province] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_Province](
	[ProID] [int] NOT NULL,
	[ProName] [nvarchar](50) NOT NULL,
	[ProSort] [int] NULL,
	[ProRemark] [nvarchar](50) NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[T_District] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_District](
	[Id] [int] NOT NULL,
	[DisName] [nvarchar](30) NOT NULL,
	[CityID] [int] NOT NULL,
	[DisSort] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[T_City] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_City](
	[CityID] [int] NOT NULL,
	[CityName] [nvarchar](50) NOT NULL,
	[ProID] [int] NULL,
	[CitySort] [int] NULL
) ON [PRIMARY]
GO


后面提供省市县的城市数据数据.SQL。

三、建立控制器

CityController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using City.Models;

namespace City.Controllers
{
 public class CityController : Controller
 {
 //
 // GET: /City/
 DBEntities db = new DBEntities();//数据链接
 public ActionResult Index() //前台展示的页面
 {
 return View();


 }
 /// 
 /// 获取省份
 /// 
 public JsonResult GetProvincelist()
 {

 IQueryable queryResult = db.T_Province;//获取省份T_Province表的数据
 return Json(queryResult.ToList(), JsonRequestBehavior.AllowGet);

 }
 /// 
 /// 获取城市
 /// 
 /// 
 /// 
 public JsonResult GetCitylist(int pid)//根据省份ID获取城市
 {
 List list = db.T_City.Where(c => c.ProID == pid).ToList();//城市ID对应值
 List item = new List();//获取城市列表
 foreach (var City in list)//根据列表获取城市名称和ID
 {
 item.Add(new SelectListItem { Text = City.CityName, Value = City.CityID.ToString() });
 }
 return Json(item, JsonRequestBehavior.AllowGet);

 }

 public JsonResult GetDistrictlist(int cid)//根据城市ID获取区县ID
 {

 List list = db.T_District.Where(a => a.CityID == cid).ToList();//区县ID对应值
 List item = new List();//获取区县列表
 foreach (var District in list)//根据列表获取区县名称和ID
 {
 item.Add(new SelectListItem { Text = District.DisName, Value = District.Id.ToString() });
 }
 return Json(item, JsonRequestBehavior.AllowGet);
 }
 }
}


四、建立路由

RouteConfig

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace City
{
 public class RouteConfig
 {
 public static void RegisterRoutes(RouteCollection routes)
 {
 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

 routes.MapRoute(
 name: "Default",
 url: "{controller}/{action}/{id}",
 defaults: new { controller = "City", action = "Index", id = UrlParameter.Optional }
 );
 }
 }
}

五、项目增加jquery-1.7.2.min.js引用。


六、建立前台Views,文件夹:City;文件名:Index


@{
 ViewBag.Title = "Index";
}



省市区三级联动数据库Mssql:http://download.csdn.net/detail/qq_17202783/8415187

下载本文
显示全文
专题