码迷,mamicode.com
首页 > Web开发 > 详细

MVC 中的@Html.DropDownList下拉框的使用

时间:2016-07-21 14:43:39      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

MVC 中的下拉框 实现方式,下面为大家介绍一个我自己认为比较好用的实现方式,而二话不说直接上代码:

第一步: 后台代码

//公共的方法
//在每次需要展示下拉框的时候,需要调用一下这个方法 【数据源是DB数据库】
private void _ProductExtensions( BtDbContext _ctx )
        {
            #region 商品分类

            List<SelectListItem> listProductTypes = new List<SelectListItem>();
            listProductTypes.Add(new SelectListItem()
            {
                Text = "商品分类",
                Value = "0"
            });

            //直接查询数据库中的数据,将其绑定到list中
            listProductTypes.AddRange(_ctx.ProductTypes.Select(t => new SelectListItem()
            {
                Text = t.TypeName,
                Value = t.TypeId.ToString()
            }).ToList());


            ViewData["ProductTypes"] = listProductTypes;

            #endregion
}


//枚举的创建
 /// <summary>
        /// 本系统订单状态
        /// </summary>
        [Serializable]
        [ProtoContract]
        [Description("订单状态")]
        public enum OrderStatus
        {
            /// <summary>
            /// 全部
            /// </summary>
            [Description("全部")]
            [ProtoEnum(Value = 0)]
            NoSetting = 0,

            /// <summary>
            /// 未派单
            /// </summary>
            [Description("未派单")]
            [ProtoEnum(Value = 1)]
            NoSendOrder = 1,
}

//调用的方式同上,唯一不同的是数据源 这里使用的数据源是 来自枚举

private void _OrderExtensions() { #region 订单状态 Dictionary<string, int> dic = new Dictionary<string, int>(); dic = typeof(EnumHelper.OrderStatus).ToDictionary(); List<SelectListItem> listOrderState = new List<SelectListItem>(); listOrderState.Add(new SelectListItem() { Text = "订单状态", Value = "" }); foreach (var item in dic) { listOrderState.Add(new SelectListItem() { Text = item.Key, Value = item.Value.ToString() }); } ViewData["OrderStates"] = listOrderState; #endregion }

 

第二步:前端调用

@{

    //商品分类  初始加载
    List<SelectListItem> listProductTypes = ViewData["ProductTypes"] as List<SelectListItem>;
}

//直接在MVC 标签中调用就ok了
 @Html.DropDownList("TypeId", listProductTypes, new
               {
                   datatype=@"/^[1-9]+$/",
                   sucmsg=" ",
                   nullmsg="请选择商品分类",
                   errormsg="请选择商品分类"
               })

第三步:展示结果:

 1、读取DB 数据源的样式

  技术分享

2、读取枚举的样式图

技术分享

 

MVC 中的@Html.DropDownList下拉框的使用

标签:

原文地址:http://www.cnblogs.com/lizichao1991/p/5691335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!