IT轮子系列(一)——DropDownList 的绑定(二)

补记:

今天在阅读公司项目代码的时候,发现MVC中的dropdownlist已经封装了数据绑定方式。相对于第一篇文章,这样的方式更简便、简洁。现记录如下:

首先,创建我们的数据模型

如下图:

模型代码如下:

 1     public class SearchModel
 2     {
 3         public SearchModel()
 4         {
 5             SchoolList = new List<SelectListItem> {
 6                 //初始化学校列表的默认选项
 7                 new SelectListItem{
 8                     Value="0",
 9                     Text="--请选择--"
10                 }
11             };
12         }
13         /// <summary>
14         /// 学校编号
15         /// </summary>
16         public int SchoolId { get; set; }
17         /// <summary>
18         /// 学校列表数据源
19         /// </summary>
20         public List<SelectListItem> SchoolList { get; set; }
21     }

搜索模型

其次,在页面中引入模型

1 @using ITWheels.WebUI.Models
2 @model SearchModel
3 @{
4     ViewBag.Title = "Index";
5 }
6
7 <h2>MVC中drownlist的数据绑定</h2>
8
9 @Html.DropDownListFor(t=>t.SchoolId,Model.SchoolList)

Index 视图

最后,定义数据来源

 1 public ActionResult Index()
 2         {
 3             SearchModel search = new SearchModel();
 4             /*
 5              * 添加数据源
 6              * 1、在实际项目当中,数据源来自于数据库返回的List,
 7              * 这时可以遍历这个List,逐个添加到SchoolList中。
 8              */
 9             search.SchoolList.Add(new SelectListItem {
10                 Value="1",
11                 Text="北京大学"
12             });
13             search.SchoolList.Add(new SelectListItem
14             {
15                 Value = "2",
16                 Text = "清华大学"
17             });
18             //设置选项
19             search.SchoolId = 1;//这时,界面显示的就是北京大学。这个值也是可以根据实际情况获取而得。
20             return View(search);
21         }

Index 后台

一切就准备就绪,F5 运行项目。

总结

一个重要的知识点是:@Html.DropDownListFor(t=>t.SchoolId,Model.SchoolList)

最后,祝大家双十一快乐,剁手的提前检查网络,检查支付宝余额.... 晚安 23:44:08。同时,也希望这篇文章能帮助到大家。

时间: 2024-11-06 09:55:48

IT轮子系列(一)——DropDownList 的绑定(二)的相关文章

重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印

重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印 一.引言 桌面端系统经常需要对接各种硬件设备,比如扫描器.读卡器.打印机等. 这里介绍下桌面端系统打印经常使用的场景. 1.一种是类似票务方面的系统需要打印固定格式的票据.比如景点门票.车票.电影票. 这种基本是根据模板调整位置套打. 2.还有一种是交易小票,比如商超POS小票,打印长度会随着内容的大小自动伸缩. 这种就不仅仅是固定格式的套打了,还得计算数据行以适应不同的打印长度. 打印方式

大型网站架构系列:消息队列(二)

本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka).[第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源] 本次分享大纲 消息队列概述(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息队列应用场景(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息中间件示例(见第一篇:大型网站架构系列:分布式消息队列(一)) JMS消息服务 常用消息队列 参考(推荐)资料 本

ASP.NET MVC Model绑定(二)

ASP.NET MVC Model绑定(二) 前言 上篇对于Model绑定的简单演示想必大家对Model绑定的使用方式有一点的了解,那大家有没有想过Model绑定器是在什么时候执行的?又或是执行的过程是什么样的?将在本篇为大家解除这些疑惑,在其中涉及到的一些描述类型和上下文参数会在后续的篇幅中讲到. Model绑定 IModelBinder.自定义Model绑定器简单实现 Model绑定器在MVC框架中的位置 MVC中的默认Model绑定器生成过程 IModelBinderProvider的简单

大型网站架构系列:消息队列(二) (转)

本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka).[第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源] 本次分享大纲 消息队列概述(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息队列应用场景(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息中间件示例(见第一篇:大型网站架构系列:分布式消息队列(一)) JMS消息服务 常用消息队列 参考(推荐)资料 本

大型网站架构系列:消息队列(二)(转)

大型网站架构系列:消息队列(二) 本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka).[第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源] 本次分享大纲 消息队列概述(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息队列应用场景(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息中间件示例(见第一篇:大型网站架构系列:分布式消息队列(一)) JMS消息服务

IT轮子系列(三)——如何显示方法名——Swagger的使用(三)

前言 在上一篇文章IT轮子系列(三)--如何给返回类型添加注释--Swagger的使用(二) 介绍如何使用swashbuckle的时候忽略了一个问题,就是默认创建的API项目在生成文档的时候是没有显示方法名,只显示了控制器的名字.如下图: User 控制器代码如下: 1 public class UserController : BaseController 2 { 3 /// <summary> 4 /// 获取用户信息 5 /// </summary> 6 /// <pa

SeaJS入门教程系列之使用SeaJS(二)

SeaJS入门教程系列之使用SeaJS(二) 作者: 字体:[增加 减小] 类型:转载 时间:2014-03-03我要评论 这篇文章主要介绍了SeaJS入门教程系列之使用SeaJS,着重介绍了SeaJS的使用方法.关键方法的使用等,需要的朋友可以参考下 下载及安装 要在项目中使用SeaJS,你所有需要做的准备工作就是下载sea.js然后放到你项目的某个位置.SeaJS项目目前托管在GitHub上,主页为 https://github.com/seajs/seajs/ .可以到其git库的buil

【造轮子系列】转轮选择工具——WheelView的改进

在[造轮子系列]转轮选择工具--WheelView中,我详细记录了这个自定义控件的设计思路和相关数据的计算.由于本人能力有限,当时还留下了一些不足的地方,主要包括: 滑动的性能和流畅性有待提高,特别是快速滑动时的效果 没有实现循环滚动的效果 经过这一段时间的不断改进,现在基本上已经比较完美了,接近ios闹钟的滚轮时间选择器的效果了.下面结合代码,对比之前的版本,记录一下我做的这些改进. 效果图 源码 WheelView 核心计算思想的转变 性能优化说白了就是在得到相同结果的前提下进行最少的计算.

Win10系列:JavaScript 模板绑定

WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控件的方法相似:在页面中添加一个div元素,将div元素的data-win-control属性设置为WinJS.Binding.Template.定义WinJS库模板以后,需要在Win10系列:JavaScript 模板绑定

实战AD+Exchange升级系列之AD排错(二)

上一篇讲到了怎么进行AD健康检查,这篇主要列举几个AD排错的例子 1.事件代码1864错误 日志名称:          Directory Service 来源:           Microsoft-Windows-ActiveDirectory_DomainService 日期:            2013/8/18 20:19:22 事件 ID:         1864 任务类别:          复制 级别:            错误 关键字:           经典 用