asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法_实用技巧

一、非强类型:

Controller:
ViewData["AreId"] = from a in rp.GetArea()
                               select new SelectListItem {
                               Text=a.AreaName,
                               Value=a.AreaId.ToString()
                               };
View:
@Html.DropDownList("AreId")

还可以给其加上一个默认选项:@Html.DropDownList("AreId", "请选择");

二、强类型:

DropDownListFor常用的是两个参数的重载,第一参数是生成的select的名称,第二个参数是数据,用于将绑定数据源至DropDownListFor

Modle:

   public class SettingsViewModel
   {
       Repository rp =new Repository();
       public string ListName { get; set; } 
       public  IEnumerable<SelectListItem> GetSelectList()
       {
               var selectList = rp.GetArea().Select(a => new SelectListItem {
                               Text=a.AreaName,
                               Value=a.AreaId.ToString()
                               });
               return selectList;
           }
       }

Controller:
       public ActionResult Index()
       {
           return View(new SettingsViewModel());
       }

View:
@model Mvc3Applicationtest2.Models.SettingsViewModel
@Html.DropDownListFor(m=>m.ListName,Model.GetSelectList(),"请选择")

时间: 2024-09-12 20:30:08

asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法_实用技巧的相关文章

详解ASP.NET MVC下的异步Action的定义和执行原理_实用技巧

Visual Studio提供的Controller创建向导默认为我们创建一个继承自抽象类Controller的Controller类型,这样的Controller只能定义同步Action方法.如果我们需要定义异步Action方法,必须继承抽象类AsyncController.这篇问你讲述两种不同的异步Action的定义方法和底层执行原理. 一.基于线程池的请求处理 ASP.NET通过线程池的机制处理并发的HTTP请求.一个Web应用内部维护着一个线程池,当探测到抵达的针对本应用的请求时,会从池

ASP.NET MVC下拉框联动实例解析_实用技巧

两个DropDownList的联动,选择其中一个DropDownList,然后加载数据到另外的一个DropDownList上           这里,我打算实现的需求是:有两个DropDownList,一个默认加载所有的省份数据,然后,当我选择省份的时候,把对应的市的数据,绑定到另外一个DropDownList上面,即实现了联动. 好了,这里不打算使用EF了,换用ADO.NET.首先新建好数据库,表: USE master GO IF EXISTS (SELECT * FROM sysdata

ASP.NET仿新浪微博下拉加载更多数据瀑布流效果_实用技巧

闲来无事,琢磨着写点东西.貌似页面下拉加载数据,瀑布流的效果很火,各个网站都能见到各式各样的展示效果,原理大同小异.于是乎,决定自己写一写这个效果,希望能给比我还菜的菜鸟们一点参考价值. 在开始之前,先把实现的基本原理说一下.当夜幕下拉到底部的时候,js可以判断滚动条的位置,到达底部触发js方法,执行jquery的ajax方法,向后台一般处理程序夜幕ashx文件请求数据源,得到json格式的数据源.然后,遍历json数据源,拼接一个li标签,再填充到页面上去. 首先,我们来做个简单的html页面

解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法_实用技巧

问题背景:            在使用asp.net mvc 结合jquery esayui做一个系统,但是在使用使用this.json方法直接返回一个json对象,在列表中显示时发现datetime类型的数据在转为字符串是它默认转为Date(84923838332223)的格式,在经过查资料发现使用前端来解决这个问题的方法不少,但是我又发现在使用jquery easyui时,加载列表数据又不能对数据进行拦截,进行数据格式转换之后再加载,后来发现可以通过自定义JsonResult实现,认为这种

解决asp.net mvc UpdateModel更新对象后出现null问题的方法_实用技巧

在用asp.net mvc 4.0做项目的时候遇到的这种情况:情况分析: "在填写表单的时候,有一些表单没有填写,留空,然后直接post 提交表单,action中用UpdateModel 来更新model,结果发现那些没有填写的表单字段全部变成null."原因分析: 项目中做了判断null不能提交更新到数据库中,所以导致一直提交不上去 后来网上查了一下找到了解决办法,我在这里分享一下,方便以后遇到这种情况的朋友可以方便解决解决方法:新建一个类继承DefaultModelBinder u

ASP.NET MVC使用EasyUI的datagrid多选提交保存教程_实用技巧

需要实现EasyUI的datagrid组件加入选择checkbox列,并提交后台批量添加的功能,页面代码如下: 复制代码 代码如下: <script language="javascript" type="text/javascript"> $(function() { //searchbox $('#selectgoods-keywords').searchbox({ searcher: function(val, name) { searchInfo

mvc下,3种窗口弹出设置的方法_实用技巧

1.通过重写,<input标签下按钮的onclick事件,来进行窗口的弹出设置: 复制代码 代码如下: <input type="button" onclick="window.open('../AddDpment','','height=180,width=550,fullscreen=no,resizable=yes,scrollbars=no,top=350,left=500')" value="添加部门"/> 其中,wi

ASP.NET MVC中URL地址传参的两种写法_实用技巧

一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参数名为id所以名称为id. 如果使用其他名称,后台是无法读取的会报错 二.url地址传参的第二种写法 1.使用?加参数名=参数值的写法,如果有多个参数使用&来连接 http://localhost:39270/RequestDemo/Index?id=88&name=%E5%BC%A0%E4%

asp.net-asp实现下拉框级联时出现第二个框一直不断积累的情况

问题描述 asp实现下拉框级联时出现第二个框一直不断积累的情况 比如,第一个下拉框选择华北,第二个下拉框出现:北大,北师大第一个框再选华中,第二个就会出现北大,北师大武大第一次的结果没有删除,要怎么实现?附上代码,各位高手帮我看一下吧,而且想实现第一个框为空的话,第二个框出来全部学校怎样实现? 在index.aspx中 选择地区: -请选择地区-/asp:ListItem/asp:DropDownList选择学校:-请选择学校-/asp:ListItem/asp:DropDownList在ind