、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. 学习S5

                  rztyfx的专栏       目录视图 摘要视图 订阅 [专家问答]阿里陈康贤:探讨大型网站之架构    走进VR开发世界——我们离开发一款VR大作还有多远?     C ...

  2. 浅谈mysql中不同事务隔离级别下数据的显示效果

    事务的概念 事 务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地对数据库应用所有的查询语句,它就会执行所有查询,如果任何一条查 询语句因为崩溃或其他原因而无法执行,那 ...

  3. 用Objective-C的foundation框架解决表达式求值问题

    主要思想: 本程序分2个类 一个是ExpressionString类,主要用于存储表达式以及对它进行求值.以下是该类中的内容: (NSString *)expString//用于存储要计算的表达式: ...

  4. CheckedListBox与下拉框联动代码

    private void yewubind(string id) { //给业务类型下拉框绑定业务类型数据 DataTable dtyewu = sb.SelectLast(id, 0); bool ...

  5. 一些浏览器HACKS

    1.选择器HACKS /*IE6及以下*/            *html #uno{...} /*IE7*/                    *:first-child+html #dos{ ...

  6. Delphi XE2及以后的版本编译后的程序大小问题

    说说Delphi XE2及以后的版本编译后的程序大小问题. 其实最终得到的程序并不大,由于编译器的变化,XE2里Debug版程序比Release版程序大很多,要减小程序体积,就使用Release版.下 ...

  7. jquery 里面的$(document).ready 和 DOMContentLoaded

    DOMContentLoaded 事件是当页面的初始dom tree加载好了就会执行. 而不会去等待外部的css 渲染完成和 js执行完成,即下图中的DOM Tree阶段 DOMContentLoad ...

  8. python中 “与,或,异或”

    在python编程语言里面: 按位的运算,都按位的运算,都是把参加运算的数的二进制形式进行运算. 1.与运算:A与B值均为1时,A.B与的运算结果才为1,否则为0 (运算符:&) 2.或运算: ...

  9. 3.bit-map

    适用范围:可进行数据的快速查找,判重,删除,一般来说数据范围是int的10倍以下 基本原理及要点:使用bit数组来表示某些元素是否存在,比如8位电话号码 扩展:bloom filter可以看做是对bi ...

  10. wordpress mobile templates

    http://themeforest.net/category/wordpress/mobile http://themeforest.net/item/monolith-wp-theme-for-b ...