Asp.net MVC5中Html.DropDownList的使用
一.静态下拉列表项的绑定
@Html.DropDownList("dropRoles", new List<SelectListItem>()
{
new SelectListItem() { Text= "Yes", Value = "true" },
new SelectListItem() { Text= "No", Value = "false", Selected = true }
}, "Select ..."),new { @class = "myClass", style = "width: 250px;" })
在上面的代码片段中,
第一个参数是下拉列表中的名称;
第二个参数是 SelectListItem 要用作数据源的下拉列表中的集合和第三个参数是默认值,如果将选中"选择 = true"不在任何的 SelectListItem 中指定。
第三个参数是在下拉列表中显示的默认默认空项。
第四个参数是写入下拉列表中的样式/类或其他 HTML 属性( htmlObjectAttributes)。
二、绑定多个表数据
@Html.DropDownList("MultipleTables", ViewBag.Roles as SelectList)
控制器操作方法代码
var data = from p in db.PersonalDetails
join f in db.Files
on p.AutoId equals f.PersonalDetailsId
select new
{
PersonName = p.FirstName,
MyFileName = f.FileName
}; SelectList list = new SelectList(data, "MyFileName", "PersonName");
ViewBag.Roles = list;
在上面的代码片段中,我们加入了两个表使用 LINQ,形成具有到 PersonName 和 MyFileName 属性的对象。转换成通过指定dataTextFileld 和dataValueField 的下拉列表。
三、在下拉列表中绑定模型
public IEnumerable<SelectListItem> Categories { get; set; }
model.Categories = db.CategoryModels.Where(c => c.SectionId == sectionId &&
c.Active == true).OrderBy(ct => ct.CategoryName).ToList().
Select(x => new SelectListItem { Value = x.CategoryId.ToString(), Text = x.CategoryName }).ToList();
在上面的代码片段中,注意第三行的代码中,是从列表中选择的所有项目,创建SelectListItem 对象所指定的值为类别 id 和类别名称作为文本。
在 ASP.NET MVC 中的窗体中更改下拉列表项自动回发,我们可以在 htmlObjectAttributes 中这样指定 onchange 属性。
@Html.DropDownList("MultipleTables", ViewBag.Roles as SelectList, "Select ...",
new { @class = "myClass", style = "width: 250px;", onchange = "this.form.submit();" })
在上面的代码片段,onchange 属性会迫使该窗体以提交它在服务器上,当用户更改下拉列表中的选定内容。
Asp.net MVC5中Html.DropDownList的使用的更多相关文章
- ASP.NET MVC5中的数据注解
ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...
- asp.net mvc5中使用缓存依赖SqlCacheDependency
缓存是用来提高应用性能,降低服务器压力.适用于数据不易变,数据易通用的情景, 对于动态查询数据,例如数据分析,最好放弃使用缓存.使用缓存最麻烦的就是保持源数据和缓存的中的数据一致. 缓存(Cache) ...
- asp.net mvc5中的过滤器重写
asp.net mvc5中增加了一种过滤器类型叫过滤器重写,这种过滤器类型可以在操作或者控制器上忽略更高层次上设置的过滤器类型,它可以重写五种基本的过滤器接口类型:IAuthenticationFil ...
- ASP.NET MVC5中的数据注解(转载)
ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...
- 在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5中创建GridView>中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类似于 ASP.NET web ...
- [摘]在ASP.NET MVC中使用DropDownList
在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便的办法还是使用HtmlHelper中的辅助方法.在View中,包含一个类型为HtmlHelper的属性H ...
- ASP.NET MVC中使用DropDownList
在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便的办法还是使用HtmlHelper中的辅助方法.在View中,包含一个类型为HtmlHelper的属性H ...
- [转]在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
本文转自:http://www.cnblogs.com/powertoolsteam/p/MVC5_GridView_2.html 背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5 ...
- 译:在ASP.NET MVC5中如何使用Apache log4net 类库来记录日志
译文出处:http://www.codeproject.com/Articles/823247/How-to-use-Apache-log-net-library-with-ASP-NET-MVC 在 ...
随机推荐
- elasticsearch,http://ip:9200访问不到的解决办法
现在解压elasticsearch之后,启动,通过http://localhost:9200可以访问的到,但是http://ip:9200访问不到,怎么办呢?带你解决,带你飞 修改elasticsea ...
- Masonry的一些使用。
除了等距的有问题(懒得改了),其他用过挺正常的,我自己也是刚使用,有问题还请海涵. 地址:http://pan.baidu.com/s/1boyxu8Z
- hitTest:withEvent:方法(此方法可实现点击穿透、点击下层视图功能)
此方法可实现点击穿透.点击下层视图功能 一. hitTest:withEvent:调用过程 iOS系统检测到手指触摸(Touch)操作时会将其放入当前活动Application的事件队列,UIAppl ...
- Python3.5入门学习记录-函数
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...
- Javascript中String、Array常用方法介绍
string和array作为javascript内置对象,其中许多方法无论是在开发过程中,还是在面试的时候都有机会被面试官问到,这里对经常用到的方法做一个介绍,这些方法都有过很多的实际应用场景,所以对 ...
- 网络编程之UDP
UDP编程流程:一服务端:1.创建socket. DatagramSocket socket = new DatagramSocket(8878); 2.创建数据包,用来接收发送的数据包.byte[ ...
- tomcat7.0的源码下载
如果想知道servlet的HttpServlet的实现细节,想知道jsp的org.apache.jasper.runtime.HttpJspBase的实现细节,想知道tomcat关于servlet和j ...
- Ubunu下安装mongoDB
mongoDB有两种安装模式: 1. 源码安装 wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.0.tgz tar zxvf ...
- 生产环境中CentOS7部署NET Core应用程序
NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. ...
- centos 6.5 安装 nginx+php+mysql
一.准备工作 (1)配置防火墙 1.首先检查iptables服务的状态 [root@woxplife ~]# service iptables status iptables: Firewall is ...