博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC4中使用Html.DropDownList实现级联
阅读量:4670 次
发布时间:2019-06-09

本文共 2360 字,大约阅读时间需要 7 分钟。

本文记录了一个在MVC4中使用PartialView实现级联效果的小例子。

准备工作

首先准备一下要级联的数据,新建两个类:Province和City

public class Province    {        public string Id { get; set; }        public string Name { get; set; }    }    public class City    {        public string Id { get; set; }        public string Name { get; set; }        public string Province { get; set; }    }

并在Controller中准备好数据,

List
provinceList = new List
(); List
cityList = new List
(); private void InitData() { provinceList.Add(new Province { Id = "1", Name = "河北省" }); provinceList.Add(new Province { Id = "2", Name = "河南省" }); provinceList.Add(new Province { Id = "3", Name = "广东省" }); cityList.Add(new City { Id = "11", Name = "石家庄", Province = "1" }); cityList.Add(new City { Id = "12", Name = "邢台", Province = "1" }); cityList.Add(new City { Id = "13", Name = "保定", Province = "1" }); cityList.Add(new City { Id = "21", Name = "郑州", Province = "2" }); cityList.Add(new City { Id = "22", Name = "安阳", Province = "2" }); cityList.Add(new City { Id = "23", Name = "洛阳", Province = "2" }); cityList.Add(new City { Id = "31", Name = "广州", Province = "3" }); cityList.Add(new City { Id = "32", Name = "中山", Province = "3" }); cityList.Add(new City { Id = "33", Name = "佛山", Province = "3" }); }

 

Controller

在控制器中创建一个返回分步视图的Action,在前台第一级调用的时候触发这个action,返回第二级需要的数据。

public ActionResult ShowCity(string provinceId)        {            InitData();            var result = cityList.Where(city => city.Province == provinceId);            ViewBag.City = result;            return PartialView("PartialCity");        }

 

View

先创建一个PartialView:PartialCity.cshtml,如下:

@{    ViewBag.Title = "PartialCity";}城市: @Html.DropDownList("city_dropdownlist", new SelectList(ViewBag.City, "Id", "Name"))

在主View中的使用这个PartialView,

省份: @Html.DropDownList("province_dropdownlist", new SelectList(ViewBag.Province, "Id", "Name"))
@Html.Partial("PartialCity")

最后,需要在主View页面写几行js代码,给第一级dropdownlist注册一个change事件,并且在事件触发的时候调用刚刚创建的ShowCity方法

@Scripts.Render("~/Scripts/jquery-1.7.1.min.js");

 

这样,就实现了级联效果。

以上

转载于:https://www.cnblogs.com/ldm1989/p/4208349.html

你可能感兴趣的文章
iOS App上架流程(2016详细版)
查看>>
SpringMVC+Thymeleaf +HTML的简单框架
查看>>
mxnet系列 安装
查看>>
Flask - 基础
查看>>
导航栏主题
查看>>
堆排序
查看>>
Expm 1_2 实现快速排序的算法,并尝试采用不同的方法实现线性的划分过程.
查看>>
Spoon新建repository的时候
查看>>
Oracle XE http端口8080的修改
查看>>
C#中,将16进制转换为有符号的10进制的方法(支持带0x标志,支持任意字符串)
查看>>
HTML5开发 Web SQL Database 本地数据库
查看>>
数据库镜像搭建
查看>>
python实现句子反转
查看>>
Django------多表操作
查看>>
java入门之内部类
查看>>
c之枚举默认值
查看>>
设计模式之 --- 工厂模式(下)
查看>>
Linux常用命令大全
查看>>
巴洛克式和哥特式的区别
查看>>
[转载]:C# 中结构与类的区别
查看>>