MVC4 下DropDownList使用方法

1、下面代码包含了三种绑定DropDownList的方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace SupermarketManagement.Controllers
{
    public class HtmlControlsController : Controller
    {
        //单位枚举
        public enum Units
        {
            米,
            厘米,
            毫米,
            微米
        }

        /// <summary>
        /// DropDownList 控件
        /// </summary>
        /// <returns></returns>
        public ActionResult DropDownListIndex()
        {
            //1、第一种表现形式(性别)
            List<SelectListItem> sexItems = new List<SelectListItem>();
            sexItems.Add(new SelectListItem { Text = "请选择", Value = "0", Selected = true });
            sexItems.Add(new SelectListItem { Text = "男", Value = "1" });
            sexItems.Add(new SelectListItem { Text = "女", Value = "2" });
            ViewBag.Sex = sexItems;

            //2、第二种表现形式
              var values = Enum.GetValues(typeof(Units)).Cast<Units>();
            var items = from value in values
                        select new SelectListItem { Text = value.ToString(),Value=value.ToString() };
            ViewBag.Unit = items;//2.1

            ViewBag.UnitEx = Units.米.ToSelectListItem("毫米");//2.2:这里用的扩展方法

            //3、第三种表现形式选中(用户更新,展示)
            List<SelectListItem> list = new List<SelectListItem>()
            {
                new SelectListItem(){Value="Man",Text="Man"},
                new SelectListItem(){Value="Female",Text="Female"}
            };
            ViewBag.Gender = new SelectList(list, "Value", "Text","Female");

            return View();
        }
    }

    //枚举扩展方法
    public static class ExSelectListItem
    {
        /// <summary>
        /// 显示所有列表
        /// </summary>
        /// <param name="valueEnum"></param>
        /// <returns></returns>
        public static IEnumerable<SelectListItem> ToSelectListItem(this Enum valueEnum)
        {
            var values = Enum.GetValues(valueEnum.GetType());
            var result = from int value in values select new SelectListItem { Text = Enum.GetName(valueEnum.GetType(), value), Value = value.ToString() };
            return result;
        }

        /// <summary>
        /// 选中的列表项
        /// </summary>
        /// <param name="valueEnum"></param>
        /// <param name="selectName"></param>
        /// <returns></returns>
        public static List<SelectListItem> ToSelectListItem(this Enum valueEnum, string selectName)
        {
            return (from int value in Enum.GetValues(valueEnum.GetType())
                    select new SelectListItem
                           {
                               Text = Enum.GetName(valueEnum.GetType(), value),
                               Value = Enum.GetName(valueEnum.GetType(), value),
                               Selected = Enum.GetName(valueEnum.GetType(), value) == selectName ? true : false
                           }).ToList();
        }
    }
}

2、Views 代码

<body>
    <p>
        一、第一种表现形式<br />
        性别:@Html.DropDownList("Sex")
    </p>
    <p>
        二、第二种表现形式<br />
        单位:@Html.DropDownList("Unit")<br />
        单位:@Html.DropDownList("UnitEx")
    </p>
    <p>
        三、第三种表现形式<br />
        性别:@Html.DropDownList("Gender")
    </p>
</body>

3、结果:

 

 

 

 

 

 

 

 

 

 

 

时间: 2024-08-13 16:13:15

MVC4 下DropDownList使用方法的相关文章

ASP.NET Web API实践系列02,在MVC4下的一个实例, 包含EF Code First,依赖注入, Bootstrap等

本篇体验在MVC4下,实现一个对Book信息的管理,包括增删查等,用到了EF Code First, 使用Unity进行依赖注入,前端使用Bootstrap美化.先上最终效果: →创建一个MVC4项目,选择Web API模版. →在Models文件夹创建一个Book.cs类. namespace MyMvcAndWebApi.Models { public class Book { public int Id { get; set; } public string Name { get; set

Asp.net MVC4 下二级联动

效果图: 主要文件有Index.cshtml ,ErJLDController.cs ,还有数据库文件 . 1.首先在数据库中创建省级.城市的表,我的表如下:我用了一张表放下了省级.城市的数据,用level划分省份和城市,parentId表示该城市所在省份的id 1 namespace Mvcproject.Controllers 2 { 3 //二级联动 4 public class ErJLDController : Controller 5 { 6 7 ZjbEntities db = n

MVC4下如何实现模态弹出对话框效果--对话框里可以实现翻页效果(2)

其实上文只是对如何加代码的顺序方法的表述,这里面的代码每个函数是什么意思,要如何理解?需要我们深思. 我们先大框子去理解:我们上文在控制器里只是去HTTPGET了,HTTPget理解其实就是请求.那么我么要保存,要插入的时候要怎么做. 上文在控制器里增加了NEW的动作,当然我们要增加NEW的视图(New.cshtml),视图里面会有一个代码. using(Ajax.BeginForm("New","DataModule",new AjaxOptions{ Inser

CentOS下软件安装方法总结

一.rpm包安装方式步骤:1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录:2.打开一个终端,su -成root用户:3.cd soft.version.rpm所在的目录:4.输入rpm -ivh soft.version.rpm二.deb包安装方式步骤:1.找到相应的软件包,比如soft.version.deb,下载到本机某个目录:2.打开一个终端,su -成root用户:3.cd soft.version.deb所在的目录:4.输入dpkg -i soft.ve

拿到内存中dom元素的最后样式进行修改obj下的currentStyle方法

在用dom操作在对页面中的<style></style>里的样式进行操作时,发现时无效的,我觉得是因为页面DOM解析时此标签的样式内容才会被读到内存中,因此JS操作时取不到此标签的内容 一个标签的样式有可能是多个样式文件所定义而成了,所以浏览器在解释标签的时候会有一个计算标签最后样式的过程,想要对<style>中定义格式的标签的样式进行修改必须去操作最后浏览器计算机计算出的样式,这里用obj下的currentStyle方法,具体测试如下: <html> &l

Yii在window下的安装方法

首先,在http://www.yiichina.com/上下载yii 然后,配置系统环境变量,在win8下,按win+x,找到系统->高级系统设置->环境变量->path 把php的运行环境,加入到环境变量中,以分号隔开.如,我的是D:\wamp\bin\php\php5.4.12 在运行中输入php命令,会出现闪烁的下划线,说明环境变量配置成功. 最后,切换到yii目录下的framework目录下,执行下面的命令: php  yiic webapp  ../my_pro--------

第一零三天上课 PHP TP框架下控制器的方法分离

(1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Controller文件夹下创建   和控制器类名  相同  的文件夹    (该文件夹即代替原来的控制器) (3)在新建的文件夹下书写方法类(该类即代替原来的控制器下的方法) <?php namespace Home\Controller\Index; //命名空间具体到类名(代替类的文件夹) use Think\

iOS开发之单例模式下的初始化方法

iOS开发之单例模式下的初始化方法 一般的单例我们会这么写 +(instancetype)sharedXXXManager{ static XXXManager *sharedXXXManagerInstance = nil; static dispatch_once_t predicate; dispatch_once(&predicate,^{ sharedXXXManagerInstance = [[XXXManager alloc] initPrivate]; }); return sh

Mac OS X下显示隐藏文件方法

对于首次使用 Mac 系统的朋友来说,可能会有点稍微有点不适应,那就是 OS X 里并没有显示和隐藏文件的菜单或者设置.然而,其实在苹果 Mac OS X 操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在 Mac 终端输入命令. 打开终端,输入以下命令: 显示/隐藏Mac隐藏文件命令如下(注意其中的空格): 显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true && killall F