主页 > 知识库 > 网络编程 > ASP/.NET >

ASP.NET MVC2 Jquery 下拉列表三级联动

来源:网络 作者:BruceAndLee 发表于:2012-08-03 08:40  点击:
在传统的webForms页面中,实现下拉列表三级联动甚至是8联动都是很简单的事情。可是在ASP.Net MVC中就不这么容易了。今天我就讲讲下拉三级联动,三级联动会了,那么8级9级也不在话下。 先看看Linq to class 看见了吧就是这三张表分别是公司,变电站,设备。ok
在传统的webForms页面中,实现下拉列表三级联动甚至是8联动都是很简单的事情。可是在ASP.Net MVC中就不这么容易了。今天我就讲讲下拉三级联动,三级联动会了,那么8级9级也不在话下。
先看看Linq to class

看见了吧就是这三张表分别是公司,变电站,设备。ok我们看看视图

好的,接下来我们看看代码的实现,先看后台控制器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using MvcApplication1.Models;
namespace MvcApplication1.Controllers
{
       publicclass TestController : Controller
       {

               TestDataContext testDataContext = new TestDataContext();

               public ActionResult Index()
               {
                       return View("~/Views/Index.aspx");
               }

               public JsonResult GetCompany()
               {
                       IQueryable<TCompany> queryResult = testDataContext.TCompany;
                       return Json(queryResult.ToList(),JsonRequestBehavior.AllowGet);
               }

               public JsonResult GetPlant(string id)
               {
                       return Json(testDataContext.TPlant.Where(P => P.companyId == int.Parse(id)).ToList(),JsonRequestBehavior.AllowGet);
               }

               public JsonResult GetLogicEquipment(string id)
               {

                       string[] ids = id.Split(",".ToCharArray());
                       string companyId = ids[0];
                       string plantId = ids[1];
                       return Json(testDataContext.TLEquipment.Where(E => E.companyId == int.Parse(companyId) && E.plantId == int.Parse(plantId)).ToList(),JsonRequestBehavior.AllowGet);
               }
       }
}

有帮助
(0)
0%
没帮助
(0)
0%