在mvc中用ajax实现省市联动

省市信息存储在tblArea表中,AreaPid等于0表示省一级名称,若要找省一级信息,则select * from tblArea  areaPid=0    ;若找安徽省的县市则select * from tblArea where areapid=13



首先建立tblArea的EF类,然后建立Controllers


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

namespace C02MVC.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/
        nononodeleteImportantEntities1 data = new nononodeleteImportantEntities1();
        public ActionResult Index()
        {
            
            List<TblArea> list = data.TblArea.Where(model => model.AreaPId == 0).ToList();
            return View(list);
        }
        public ActionResult GetCity(int id)
        {
           List<TblArea> list  =data.TblArea.Where(model => model.AreaPId == id).ToList();
           return PartialView(list);
        }
    }
}


建立index视图,用来显示省份及相应的县市

@{
    Layout = null;
    
}
@model  List<C02MVC.Models.TblArea>
<!DOCTYPE html>

<html>
<head>
    <script src="~/Scripts/jquery-1.7.1.js"></script>
    <script src="~/Scripts/jquery.validate.js"></script>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script type="text/javascript">
        $(function () {
            var province = $("#province");
            $("#city").load("/home/GetCity/" + province.val());
            province.change(function () {
                $("#city").load("/home/GetCity/" + province.val());     
            });
        });
    </script>
</head>
<body>
    <div>
        <select id="province">

       @foreach (var item in Model)
       {
          <option value="@item.AreaId">
              @item.AreaName
          </option>
       } 
      </select>
        <select id="city">

        </select>
    </div>
</body>
</html>


建立GetCity视图,为Ajax方式获取市县提供数据

@{
    Layout = null;
}
@model  List<C02MVC.Models.TblArea>

@foreach(var m in Model)
{
    <option value="@m.AreaId">@m.AreaName</option>
}





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值