、Models
namespace 下拉列表联动显示_Car表_.Models
{
public class ProductorBF
{
private MyDBDataContext _context=new MyDBDataContext();
public List<productor> Select() //厂商全部显示
{
return _context.productor.ToList();
} }
} namespace 下拉列表联动显示_Car表_.Models
{
public class BrandBF
{
private MyDBDataContext _context = new MyDBDataContext();
public List<brand> Select() //品牌(系列)全部显示
{
return _context.brand.ToList();
}
public List<brand> SelectByProd(string prod) //根据汽车厂商查汽车品牌
{ var query = _context.brand.Where(P => P.prod_code == prod);
if (query.Count() > )
{
return query.ToList();
}
else
{
return null;
} }
}
} namespace 下拉列表联动显示_Car表_.Models
{
public class CarBF
{
private MyDBDataContext _context = new MyDBDataContext();
public List<car> Select() //汽车全部显示
{
return _context.car.ToList();
}
public List<car> SelectByBrand(string brand_code) //根据汽车品牌查具体汽车
{
var query = _context.car.Where(P => P.brand==brand_code);
if (query.Count() > )
{
return query.ToList();
}
else
{
return null;
}
}
}
} 、Controllers
namespace 下拉列表联动显示_Car表_.Controllers
{
public class HomeController : Controller
{ [HttpGet]
public ActionResult Index()
{
//厂家表(强类型)
List<productor> list =new ProductorBF().Select();
SelectList aaa = new SelectList(list,"prod_code","prod_name","p001"); //品牌表
List<brand> list1 = new BrandBF().SelectByProd("p001");
SelectList bbb1 = new SelectList(list1, "brand_code", "brand_name");
ViewBag.bbb = bbb1; //汽车表
List<car> cars = new CarBF().SelectByBrand("b001");
SelectList ccc1 = new SelectList(cars,"code","name");
ViewBag.ccc = ccc1; return View(aaa);
} [HttpPost]
public ActionResult Index(string prodcode,string brandcode,string carcode)
{
//厂家表(强类型)
List<productor> list1 = new ProductorBF().Select();
SelectList aaa = new SelectList(list1, "prod_code", "prod_name",prodcode); //品牌表
List<brand> list2 = new BrandBF().SelectByProd(prodcode);
SelectList bbb1 = new SelectList(list2,"brand_code","brand_name",brandcode);
ViewBag.bbb = bbb1; //汽车表
//两种情况:选厂商的时候,判断一下加载的系列在不在当前厂商下
//1、在的话,直接根据加载出来的系列代号查
//2、不在的话,根据新选的厂商加载出来系列的第一个查
var b = list2.Exists(P => P.brand_code == brandcode) ? brandcode : list2[].brand_code; //假设选的是P003,但是定位的Brand是B001,所有需要判断,如果品牌里的下拉列表里有一个代号等于传进来的brand,说明有,可以查;如果不包含,需要根据你提交的厂商查出来的品牌中的第一项来查
List<car> list3 = new CarBF().SelectByBrand(b);
SelectList ccc1 = new SelectList(list3,"code","name",carcode);
ViewBag.ccc = ccc1; return View(aaa);
} }
} 、Views
@using 下拉列表联动显示_Car表_.Models;
@model SelectList
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
//new { onchange="document.forms[0].submit();"} 文本一旦改变整个表单会跟着变
@Html.DropDownList("prodcode", Model,new { onchange="document.forms[0].submit();"});
@Html.DropDownList("brandcode", ViewBag.bbb as SelectList,new { onchange="document.forms[0].submit();"});
@Html.DropDownList("carcode", ViewBag.ccc as SelectList); }
</div>
</body>
</html>

效果图:

下拉列表联动显示(Car表) 三级联动的更多相关文章

  1. Python实现用户交互,显示省市县三级联动的选择

    题目:Python实现用户交互,显示省市县三级联动的选择 定义的字典为: dic = { "江西": { "萍乡": ["安源", &quo ...

  2. 根据参数显示类别(三级联动,需要JSON数据)

    根据参数显示类别(三级联动,需要JSON数据) Scripts/Category.js 调用方法: $(function () { BindCategory(); //默认绑定文本框中的值 BindC ...

  3. 三级联动第二种方法 三级联动.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 三级联动第二种方法 三级联动数据.js

    var data = { '0':{2:'北京',25:'天津',24:'上海',31:'重庆',130000:'河北省',140000:'山西省',150000:'内蒙古自治区',210000:'辽 ...

  5. css 实现三级联动菜单

    昨天因为项目中想要把二级联动菜单改成三级联动菜单,所以我就单独写了一个tab导航栏,用纯css的方式实现的三级联动.一开始我想着可以用js实现,但是js的hover事件和mouseenter,mous ...

  6. EasyuiCombobox三级联动

    有许多刚接触Easyui中Combobox控件的朋友可能都会遇到的问题:如何将Combobox做成三级联动? 先本人有个三级联动的案例给大家参考参考,经测试能通过.注意Combobox绑定的数据是Js ...

  7. JS——EasyuiCombobox三级联动

    有许多刚接触Easyui中Combobox控件的朋友可能都会遇到的问题:如何将Combobox做成三级联动? 现分享一个三级联动的案例给大家参考参考,经测试能通过.注意Combobox绑定的数据是Js ...

  8. Vue如何使用vue-area-linkage实现地址三级联动效果

    很多时候我们需要使用地址三级联动,即省市区三级联动.网上有很多插件,在此介绍Vue的一款地区联动插件:vue-area-linkage,下面介绍如何使用这个插件实现地址联动效果:         1. ...

  9. PHP ajax 实现三级联动

    在一个单独JS页面中,利用ajax实现三级联动,做成一个三级联动形式,以便于以后随时调用 JS代码: $(document).ready(function(e) { $("#sanji&qu ...

随机推荐

  1. C#嵌套类型

    1.什么是嵌套类型:在类和结构内部定义的类型称为嵌套类型,例如 class Container { class Nested { Nested() { } } } 2.不管外部类型是结构还是类.嵌套类 ...

  2. 轮子来袭 vJine.Core 之 AppConfig<T>

    1.引用vJine.Core; 2.定义配置类; using System; using System.Collections.Generic; using System.Text; using Sy ...

  3. (转)Quartz.NET管理类

    最近做项目设计到Quartz.NET,写了一个Quartz.NET管理类,在此记录下. public class QuartzManager<T> where T : class,IJob ...

  4. 用EPPlus导入导出数据到excel

    项目上中要用到将数据库中所有表导出为Excel,以及将Excel数据导入数据库中的操作,使用EPPlus组件,编写以下两个函数. using OfficeOpenXml;using OfficeOpe ...

  5. php四种基础排序算法的运行时间比较

    /** * php四种基础排序算法的运行时间比较 * @authors Jesse (jesse152@163.com) * @date 2016-08-11 07:12:14 */ //冒泡排序法 ...

  6. Chrome 浏览器各版本下载大全

    随着最近64位版本的 Chrome 浏览器正式版的推出,Chrome 浏览器再次受到广大浏览迷的重点关注,今天我们就整理一下各版本的 Chrome 浏览器 32位及64位的下载地址,方便各位浏览迷选择 ...

  7. 基于Emgu CV 的手势识别实现PPT的控制放映

    Emgu CV 简介         众所周知,Emgu CV是.NET平台下对OpenCV图像处理库的封装,也就是.NET版的OpenCV.开发者可以很方便的通过C#,VB等语言调用OpenCV函数 ...

  8. 2014年辛星完全解读Javascript第二节

    本小节我们讲解一下Javascript的语法,虽然js语言非常简单,它的语法也相对好学一些,但是不学总之还是不会的,因此,我们来一探究竟把. ********注释************* 1.我们通 ...

  9. 深入浅出JMS(二)——JMS的组成

    JMS Provider 实现了JMS规范的消息系统,该系统还提供必须的用于管理和控制全方位的功能,如这里的ActiveMQ. Administered Objects Administered Ob ...

  10. asp.net mvc get controller name and action name

    @{ var controller = @HttpContext.Current.Request.RequestContext.RouteData.Values["controller&qu ...