• 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、结果:

    image

  • 相关阅读:
    叉积
    Linux IO模型
    uva10201-dp
    如何在Java内使用Protobuf
    uva10651-记忆化搜索
    ZK的几个常用方式
    uva10304-最优二叉搜索树
    uva590-DP-Always on the run
    Git神操作
    在容器内运行JVM时内存的问题
  • 原文地址:https://www.cnblogs.com/pingming/p/5061421.html
Copyright © 2020-2023  润新知