控制器代码:

///assemblyString:程序集名称的长格式,name:获取程序集实例中具有指定名称的 System.Type 对象,except:除了哪些枚举(键或值都可以)不加载到下拉列表框///此方法写在控制器当中,GetEnum则为 最下面Html代码中的Action名public ActionResult GetEnum(string assemblyString, string name, string except = ""){except = string.Format(",{0},", except.ToUpper());Assembly ass = Assembly.Load(assemblyString);Type type = ass.GetType(name);if (type != null && type.IsEnum){string[] names = type.GetEnumNames();int[] values = (int[])type.GetEnumValues();List<object> list = new List<object>();for (int i = 0; i < names.Length; i++){if (except.IndexOf(string.Format(",{0},", names[i].ToUpper())) < 0)list.Add(new { text = names[i], value = values[i] });}return Json(list);}return Json(null);}

  

 js代码:(使用前引用jquery)

$(function () {AjaxSelect();//获取枚举的值并将名称和值绑定在选择框,params提交到后台地址的参数对象function AjaxSelect() {      //ajaxselect 在要用到自动加载枚举键值的select标签上必须加class值$(".ajaxselect").each(function () {var _this = $(this);//eval 表示 将字符串作为javascript代码进行执行,此处代表是一个对象var opts = eval('(' + _this.attr("data-options") + ')');var option = "";$.post(opts.url, opts.params, function (data) {$.each(data, function (i, n) {if (n.text == opts.select)option += "<option selected='selected' value='" + n.value + "'>" + n.text + "</option>";elseoption += "<option value='" + n.value + "'>" + n.text + "</option>";});_this.append(option);}, "json");});}
});

 Html中的具体写法:

 <select title="请选择角色" class="ajaxselect" data-options="{url:'@Url.Action("Action名", "控制器名称")',select:'设置要默认选中的枚举 键'}"><option value="">选择</option></select>

  

转载于:https://www.cnblogs.com/szmgo/p/6744744.html

将枚举的键值绑定到下拉列表框相关推荐

  1. Emacs取消键值绑定

    栗子: 取消C-M-b绑定 1.查询键值: C-h b2.取消绑定 # emacs ~/.emacs (global-set-key (kbd "C-M-b") nil)

  2. java return用法_Java枚举的高级用法之多键值的映射使用

    枚举Enum单映射使用 做Java的各位仁兄姐妹都知道,Java通过HashMap,以及枚举提供了方便的K-V映射功能,例如 枚举单映射使用 但是如果遇到多个键值映射,例如K-K-V的形式怎么办呢?可 ...

  3. Java心得--键值、枚举器

    1. 集(Set):和数学上的"集合"概念相对应,是最简单的一种集合. Set集合中不区分元素的顺序,因此也就不记录元素的加入顺序. Set集合中不包含重复元素,即任意的两个元素e ...

  4. C/C++注册表【4】键值的获取,设置,删除,枚举

    C/C++注册表[4]键值的获取,设置,删除,枚举 1.键值的获取: LONG WINAPI RegQueryValueEx(HKEY hKey, //一个已打开项的句柄,或者指定一个标准项名LPCT ...

  5. MybatisPlus:SQL语句打印、SQL分析、自定义主键值策略填充(IdType.INPUT)、动态表名、多租户、枚举、类型处理器、连表自定义SQL(使用wrapper)

    文章目录 1. 简单使用以及配置 - 带分页配置 2. 用法 2.0 Wrapper属性 2.1 @TableId - 自定义主键生成策略 2.2 @TableField - 自定义字段值填充 2.3 ...

  6. DevExpress的下拉框控件ComboxBoxEdit怎样绑定键值对选项

    场景 DevExpress的下拉框控件ComboBoxEdit控件的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1028 ...

  7. etcd 笔记(03)— etcd 客户端使用(键值的增、删、改、查)、watch监测键、lease使用(创建租约、撤销租约、刷新租期、查询租期)

    1. etcd 客户端 etcdctl 是一个命令行客户端,便于我们进行服务测试或手动修改数据库内容,etcdctl 在两个不同的 etcd 版本(v2 和 v3)下的功能和使用方式也完全不同. 一般 ...

  8. RabbitMQ 入门系列(2)— 生产者、消费者、信道、代理、队列、交换器、路由键、绑定、交换器

    本系列是「RabbitMQ实战:高效部署分布式消息队列」和 「RabbitMQ实战指南」书籍的读书笔记. RabbitMQ 中重要概念 1. 生产者 生产者(producer)创建消息,然后发送到代理 ...

  9. 超大数据下大批量随机键值的查询优化方案

    一.问题描述 键值查询是很常见的查询场景,在数据表上建有索引后,即使表中数据记录数巨大(几亿甚至几十亿行),用键值查询出单条记录也会很快,因为建立索引后的复杂度只有 logN(以 2 为底)次, 10 ...

最新文章

  1. Vue在Element UI下使用富文本框插件quill-editor(我个人不推荐用这个复杂的富文本插件)
  2. 【译】Diving Into The Ethereum VM Part 4 - How To Decipher A Smart Contract Method Call
  3. 雅加达EE:干净的板岩
  4. javaScript实现E-mail 验证
  5. 【解决】如何打开.ipynb文件
  6. CSS3弹性盒子Flex
  7. 你经常使用计算机吗这样的问题其主要缺点是,2015年10月自考02326操作系统模拟试题及答案3...
  8. ubuntu阿里云快速下载
  9. 分拆素数和(杭电2098)
  10. 思路不清晰还想月薪过万?学会这4招,升职加薪有望
  11. Java结构型设计模式之装饰者模式
  12. 'C'is not a valid file-based resource name character: File-based resource names must contain onl解决方法
  13. SMT32F767通过STM32CUBE HAL库配置QSPI和W25Q256驱动
  14. FULENT软件测试工程师头像,fluent软件应用超详细实例
  15. MATLAB交通标志识别系统
  16. 使用MeGUI的一些问题及个人解决方案,仅作个人备注使用。
  17. 8年一线.NET开发程序员求职
  18. 相片尺寸规格像素一览
  19. Python3安装xlrd
  20. 焦绪录:大数据如何推动数字中国建设

热门文章

  1. cocos2dx 3.x Value、Vector和Map意识
  2. An internal error occurred during: Launching New_configuration.
  3. ITTC数据挖掘平台介绍(综述)——平台简介
  4. MySQL 计算两个时间的差值
  5. 李开复评价马斯克:他真正的目的是把人变成半机械人
  6. MySQL/sqlserver查询in操作 查询结果按in集合顺序显示
  7. Android中SimpleAdapter的使用—自定义列表
  8. [C++]宏定义#define A B C
  9. 远程客户端连接MysqL数据库太慢解决方案
  10. .NET MVC异步调用中的Session问题