.Net Mvc中使用Jquery EasyUI控件讲解(三)下拉列表选择控件DropDownListFor使用讲解,动态提供下拉选项
本文讲解.Net Mvc中下拉列表控件DropDownListFor的使用方法,解决方案有很多,本文的主要实现思路是,将系统中使用的所有下拉列表选项内容存储到数据库的表中,然后在项目中创建一个公共类根据传入字段分类返回对应的选项列表,返回类型为IEnumerable<SelectListItem>,可以直接提供给DropDownListFor作为下拉选项使用,下面进行详细讲解。
一、存储下拉列表选项的表结构
CREATE TABLE [dbo].[SYS_DICTIONARY]( [ID] [nvarchar](36) NOT NULL,--ID [SORT] [nvarchar](20) NULL,--分类(跟数据表字段名一致) [NAME] [nvarchar](60) NULL,--中文名称 [VALUE] [nvarchar](40) NULL,--下拉列表text值 [NVALUE] [nvarchar](40) NULL,--下拉列表value值 [LISTORDER] [nvarchar](20) NULL,--显示顺序 CONSTRAINT [PK_SYS_DICTIONARY] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
下拉列表包含显示文本(Text)跟选项值(Value),实际开发中显示文本一般是中文的,值可以设置为数字型的,也可以直接使用中文。SORT分类字段针对系统中每个下拉列表值是唯一的,用于区分查询不同下拉列表选项,中文名称只用于备注是哪个下拉列表,VALUE是下拉列表显示的内容(TEXT),NVALUE是下拉列表选择的值(VALUE),数据样例如下:
这里没有使用NVALUE字段,项目中下拉列表的Text和Value都使用汉字。
二、调用获取选项的公用类
/***********根据SYS_DICTIONARY库,构造下拉列表框的值****************/ /** 参数sort:SYS_DICTIONARY库里的分类*****************************/ /** 使用方法:@Html.DropDownListFor(model => model.SOURCE, KwstuCallCenter.Models.GetDropDownListItem.GetSelectList("SOURCE"))*/ public static class GetDropDownListItem { public static IEnumerable<SelectListItem> GetSelectList(string sort) { NewSystemDbContent db = new NewSystemDbContent(); var selectList = db.SYS_DICTIONARY.Where(a => a.SORT == sort).OrderBy(a => a.LISTORDER).ToList(); SYS_DICTIONARY empty = new SYS_DICTIONARY(); empty.VALUE = "-1"; empty.VALUE = null; selectList.Insert(0, empty); SelectList pList = new SelectList(selectList, "VALUE", "VALUE"); return pList; } }
公用类主要就是根据sort字段进行查询,获取对应下拉列表的选项,然后返回IEnumerable<SelectListItem>类型的列表供前台使用。
三、前台调用方法
@Html.DropDownListFor(model => model.RULEID, NewSystem.Models.GetRoleItem.GetSelectList())
使用NewSystem.Models.GetRoleItem.GetSelectList()代码直接调用。
四、页面效果
猜您可能还喜欢
- 完美解决iis下JWplayer提示Error loading media: File could not be played错误(3706)
- asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现(2930)
- .Net Mvc中使用Jquery EasyUI控件讲解(一)表格控件datagrid使用介绍(2637)
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(三)登录模块开发(2577)
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(七)权限管理模块之系统菜单动态生成(2541)
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(六)权限管理模块之初始数据准备(2191)
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(八)权限管理模块之权限管理实现(2159)
- Jquery ajax访问asp.net web api跨域问题解决方案(1829)
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(五)后台模板html页面集成到项目中(1609)
- .Net Mvc中使用Jquery EasyUI控件讲解(二)树形控件tree使用介绍(1536)
评论列表
发表评论
文章分类
文章归档
阅读排行
- 1. Windows Server 2008 R2永久激活及Chew-WGA v0.9下载(12644)
- 2.Visual Studio 2017中安装visualSVN及使用详解(4838)
- 3.完美解决iis下JWplayer提示Error loading media: File could not be played错误(3706)
- 4.asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现(2930)
- 5.Android avax.net.ssl.SSLPeerUnverifiedException: No peer certificate 解决方法(httpClient支持HTTPS的访问方式)(2792)
- 6..Net Mvc中使用Jquery EasyUI控件讲解(一)表格控件datagrid使用介绍(2637)
- 7.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(三)登录模块开发(2577)
- 8.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(七)权限管理模块之系统菜单动态生成(2541)
- 9. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(六)权限管理模块之初始数据准备(2191)
- 10.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(八)权限管理模块之权限管理实现(2159)