最近公司在开发财务系统,在工作中遇到不少的地方需要下拉框。

但是枚举框中数据的内容又来自枚举。

枚举代码如下:

 public class EnumDemo
{ public enum Value {
First=,
Second=
}
public enum Name
{
我是第一 = ,
我是第二 =
} }

我一看还挺简单。

于是第一次是这样的:

    <select>
<option value="1">我是第一</option>
<option value="2">我是第一</option>
</select>

效果是出来了,但是这样的话,如果有七八个枚举,每个枚举有七八个值,我的手还不写废掉吗。

于是第二次页面代码如下:

     <select>
@foreach (var item in Enum.GetValues(typeof(EnumDemo.Value)))
{
<option value="@((int)item)">
@((EnumDemo.Name)item)
</option> } </select>

看效果:

解释一下,这里typeof看不懂没关系,知道这个typeof的结果是Type就好了, 正好Enum.GetValues()需要Type类型参数。看下图的提示

后面感觉这样用起来也麻烦(个人有点懒吧),于是想到可以这样:

新建了一个帮助类:

         public static string CreatSelection<TValue,TName>()
{ StringBuilder stringBuilder = new StringBuilder(); foreach (var item in System.Enum.GetValues(typeof(TValue)))
{
stringBuilder.AppendFormat("<option value='{0}'>{1}</option>", (TName)item, (int)item);
}
return stringBuilder.ToString(); }

然后页面代码如下:

     <select>
@( Html.Raw( WorkRecord.Enum.EnumHelper.CreatSelection<EnumDemo.Value,EnumDemo.Name>() ) )
</select>

效果如下:

虽然效果都是一样的,但是你写起来的感觉绝对不一样。

刚刚毕业的新手,如果大佬们能给些更好的意见,欢迎留言,谢谢!

也欢迎不懂的童鞋问我,加班晚上不在,不加班随机在线,看见一定会回复的!

本人也是刚刚毕业的学生,第一次写博客,也不太懂规矩,讲得也不太清楚,望见谅!

文章仅以此献给不懂的同学,与君共勉。

ASP.NET MVC 中枚举生成下拉框的更多相关文章

  1. MVC实现多选下拉框,保存并显示多选项

    在"MVC实现多选下拉框"中,主要是多选下拉框的显示,而实际情况通常是:选择多个选项提交后,需要在编辑页把所有选中的项显示出来. 模拟这样的一个场景:一个车迷可能有多个自己喜欢的汽 ...

  2. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

    原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($(&q ...

  3. HTML中的select下拉框内容显示不全的解决办法

    HTML中的select下拉框内容显示不全的解决办法 今天,我遇到这样一个问题:查询栏中的下拉框中的内容过长,导致部分被覆盖了. 查询了一些资料,有的说用函数控制,有的说用事件控制,有的看不懂,有的实 ...

  4. python webdriver中对不同下拉框通过文本值的选择

    在自动化中python对下拉框的处理网上相对实例比较少,其它前辈写的教程中对下拉也仅仅是相对与教程来说的,比如下面: m=driver.find_element_by_id("Shippin ...

  5. js表单快速取值/赋值 快速生成下拉框

    1.表单取值/赋值公共方法 //表单序列化:文本框的name字段和数据源一致<form id="myForm" onsubmit="return false;&qu ...

  6. datagrid在MVC中的运用05-加入时间搜索条件,枚举填充下拉框

    本文主要来体验在搜索区域增加更多的搜索条件,主要包括: ※ 使用jQuery ui的datepicker显示时间,设置显示格式.样式. ※ 设置jQuery ui的onClose事件,使开始和结束时间 ...

  7. MVC实现多选下拉框

    借助Chosen Plugin可以实现多选下拉框. 选择多项: 设置选项数量,比如设置最多允许2个选项: 考虑到多选下拉<select multiple="multiple" ...

  8. maven一模块字段调用另一个模块数据生成下拉框

    店铺运营数据录入表实现的下拉框实现 从片区管理中提取分区数据,在招商管理(MIS)模块中获取并以下拉框的形式展现 ctrl类: 1.首先在ctrl类注入需提取另一模块字段的serviceclient接 ...

  9. Vue ElementUI表格table中使用select下拉框组件时获取改变之前的值

    目前项目中有一个场景,就是表格中显示下拉框,并且下拉框的值可以更改,更改后提交后台更新.因为这个操作比较重要,所以切换时会有一个提示框,提示用户是否修改,是则走提交逻辑,否则直接返回,什么也不做. 之 ...

随机推荐

  1. django2-登录与出版社

    1.django核心功能 因为django功能很多 ,出版社可以使用到部分功能,最快最简单了解django的运行模式,每个点后续细化去梳理 django的路由 django的视图 django的模板 ...

  2. Spring高频面试题,你能答的上哪些?(高级篇)

    1.什么是 Spring 框架?Spring 框架有哪些主要模块? 2.使用 Spring 框架能带来哪些好处? 3.什么是控制反转(IOC)?什么是依赖注入? 4.请解释下 Spring 框架中的 ...

  3. ECAMScript中的let和const

    let与const命令都是用来在js中声明变量的,在使用上与var相似,但存在一些区别,下面先讲let同var的区别 let 怎么使用呢,同var一样,let  变量名   就可以声明了 区别一:其作 ...

  4. Github使用总结(添加ssh-key,新建仓库,添加协作者) 转

    http://jingyan.baidu.com/article/ab0b5630936ab6c15afa7d1c.html https://help.github.com/articles/gene ...

  5. 我写了个项目,帮你学习HTTP接口测试!

    端午节我写了一个项目,帮助你学习HTTP接口测试. GitHub地址: https://github.com/defnngj/learning-API-test 整个项目基于Flask和 Reques ...

  6. fetchone函数和fetchall函数返回值的区别

     fetchone函数和fetchall函数返回值的区别 1.fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果,则python返回 None 有结果时,如图: 没结果时,如 ...

  7. C++中各种输入函数的用法总结

    1.scanf()函数 原型:int scanf(const char *restrict format,......); 入口参数:第一个参数是格式字符串,它指定了输入的格式,......格式化后的 ...

  8. Leetcode53_Spiral_Matrix

    Spiral_Matrix https://leetcode-cn.com/problems/spiral-matrix/ //当行数只有一行: 1. n = 1; m -> 0; //当列数只 ...

  9. java程序:调用百度api进行情感分析

    源码: package com.jeson.ceshi; import java.util.HashMap; import org.json.JSONObject; import com.baidu. ...

  10. oracle用户管理, 授权与回收权限

    一. 用户管理参数, 0.删除用户: drop user 用户名 [cascade] 当我们删除用户时, 如改用户已创建过数据对象, 那么删除用户时必须加cascade参数, 用来同步删除 改用户的所 ...