MVC4中使用Html.DropDownList实现级联
本文记录了一个在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<Province> provinceList = new List<Province>();
- List<City> cityList = new List<City>();
- private void InitData()
- {
- provinceList.Add(new Province { Id = "", Name = "河北省" });
- provinceList.Add(new Province { Id = "", Name = "河南省" });
- provinceList.Add(new Province { Id = "", Name = "广东省" });
- cityList.Add(new City { Id = "", Name = "石家庄", Province = "" });
- cityList.Add(new City { Id = "", Name = "邢台", Province = "" });
- cityList.Add(new City { Id = "", Name = "保定", Province = "" });
- cityList.Add(new City { Id = "", Name = "郑州", Province = "" });
- cityList.Add(new City { Id = "", Name = "安阳", Province = "" });
- cityList.Add(new City { Id = "", Name = "洛阳", Province = "" });
- cityList.Add(new City { Id = "", Name = "广州", Province = "" });
- cityList.Add(new City { Id = "", Name = "中山", Province = "" });
- cityList.Add(new City { Id = "", Name = "佛山", Province = "" });
- }
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,
- <div id="province">
- 省份: @Html.DropDownList("province_dropdownlist", new SelectList(ViewBag.Province, "Id", "Name"))
- </div>
- <div id="city">
- @Html.Partial("PartialCity")
- </div>
最后,需要在主View页面写几行js代码,给第一级dropdownlist注册一个change事件,并且在事件触发的时候调用刚刚创建的ShowCity方法
- @Scripts.Render("~/Scripts/jquery-1.7.1.min.js");
- <script type="text/javascript">
- $(document).ready(init);
- function init() {
- $("select[name='province_dropdownlist']").change(function () {
- var selectedProvince = $(this).val();
- ShowCityWithSelectedProvince(selectedProvince);
- });
- }
- function ShowCityWithSelectedProvince(province) {
- $.ajax({
- url: "@Url.Action("ShowCity", "Home")",
- data: { provinceId: province },
- success: function (data) {
- $("#city").html(data);
- }
- });
- }
这样,就实现了级联效果。
以上
MVC4中使用Html.DropDownList实现级联的更多相关文章
- [原创]MYSQL中利用外键实现级联删除和更新
MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定 ...
- MVC4中基于bootstrap和HTML5的图片上传Jquery自定义控件
场景:mvc4中上传图片,批量上传,上传前浏览,操作.图片进度条. 解决:自定义jquery控件 没有解决:非图片上传时,会有浏览样式的问题; 解决方案; 1.样式 – bootstrap 的css和 ...
- Autofac在MVC4中牛刀小试
Autofac是传说中速度最快的一套.NET高效的依赖注入框架.Autofac的介绍与使用请去参考Autofac全面解析系列(版本:3.5). 这里介绍的已经挺详细的啦. 下面我就先来说说MVC4 ...
- bootstrap中table页面做省市区级联效果(级联库见前面级联编辑)(非select下拉框)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- ASP.NET MVC4中的bundles特性引发服务器拒绝访问(403错误)
在ASP.NET MVC4中微软引入了bundles特性,这个特性可以将服务器端的多个Javascript或多个css文件捆绑在一起作为一个单一的URL地址供客户端浏览器调用,从而减少了页面上Http ...
- MVC4中使用Ninject
MVC4中使用Ninject 1.NuGet获取Ninject.dll .NET技术交流群 199281001 .欢迎加入. 2.全局注册 Global.asax.cs RegisterNinje ...
- mvc4中jquery-ui日期控件datepicker的应用
mvc4中jquery-ui日期控件datepicker的应用 本文适合mvc中日期选择需要的同学: 假设读者已经具备了mvc4和javascript中的相关知识 一. 开始项目之前把项目中目录:/C ...
- GridView中两个DropDownList联动
GridView中两个DropDownList联动 http://www.cnblogs.com/qfb620/archive/2011/05/25/2057163.html Html: <as ...
- WebSocket在ASP.NET MVC4中的简单实现
WebSocket在ASP.NET MVC4中的简单实现 2013-12-21 20:48 by 小白哥哥, 810 阅读, 3 评论, 收藏, 编辑 WebSocket 规范的目标是在浏览器中实现和 ...
随机推荐
- c++ 的vector、array和数组的比较
ref: http://blog.csdn.net/haust_wang/article/details/49848169
- wd mycloud nas新玩法
最近家里的小米路由器坏了,主要是硬盘读取不出,小米之家也无能为力,本想继续在小米之家买个小米路由器,后来了解到了nas,于是想折腾下.我的nas型号是wd mycloud,3TB内置硬盘.功能:可以组 ...
- SpringMVC-Controller
接上: web.xml Spring-servlet.xml Controller层是控制层,在其类上添加@Controller注解,会被Spring-servlet.xml中的<context ...
- hadoop 安装笔记
http://www.powerxing.com/install-hadoop/ 查询相关链接~!
- MathType有哪些功能
随着寒流呼呼来临,期末考也不放过我们,不知道你们是在题海里遨游,还是已做好了挑战准备呢.不管你是哪种情况,现在就有一款玩转理工科的强大编辑公式强悍来袭,不管你是学生.教师,还是理科专业工作者,Math ...
- Notepad++下载需要的插件(如何在Notepad++中手动下载需要的插件)
需求说明: 下载在实际工作中需要的Notepad++插件,或者是因为Notepadd++设置的原因导致不能直接在软件中显示插件. 即手动登录到指定的链接中进行插件的下载. 操作过程: 1.以xmlto ...
- windows,cmd中,如何切换到磁盘的根目录下
需求描述: 在windows的cmd中操作,有的时候也会遇到切换了很多的目录,然后需要切换到根目录的情况 操作过程: 1.通过cd \的方式,切换回当前磁盘的根目录下 备注:未切换之前,在Driver ...
- php 实现 java com.sun.org.apache.xml.internal.security.utils.Base64 Byte数组加密
<?php function java_base64_encode($arr){ $str = ''; foreach ($arr as $key => $value) { $str .= ...
- 查看内存使用情况:free
free命令用于显示内存的使用情况,常见用法如下: [root@localhost ~]$ free # 以KB为单位显示内存使用情况 [root@localhost ~]$ free -m # 以M ...
- 关于MCU的烧录,下载与其他接口的比较(二)
单片机应用系统由硬件和软件组成,软件的载体是硬件的程序存储器,程序存储器采用只读存储器,这种存储器在电源关闭后,仍能保存程序,在系统上电后,CPU可取出这些指令重新执行.只读存储器(Read Only ...