枚举生成MVC3: Bind Enum To DropDownList ?-java教程
发一下牢骚和主题无关:
0. 预备测试数据
0.1 : 枚举
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;namespace MvcApplication.Models
{public enum YesOrNo{否 = 0,是 = 1}
}
0.2 : 对应实体类及表sql
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;namespace MvcApplication.Models
{public class Test{[Key]public int Id { get; set; }[Display(Name = "态状")][Required(ErrorMessage = "态状不能为空.")]public int Status { get; set; }}
}/*
-- 对应SQLCREATE TABLE Test(Id INT PRIMARY KEY IDENTITY(1,1),[Status] INT
)
go
INSERT INTO Test VALUES(1)*/
0.3 在Controller 文件夹上生成强类型(Test)的读写控制器及图视. (动自生成这些,我们的测试任务就很轻松了)
1. 写一个扩展方法,放在静态的具工类中。
人的生命似洪水奔流,不遇着岛屿和暗礁,难以激起美丽的浪花。
/// <summary>
/// 将枚举转换到Select的扩展方法
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="enumObj">枚举对象</param>
/// <returns>SelectList</returns>
public static SelectList ToSelectList<TEnum>(this TEnum enumObj)
{var values = from TEnum e in Enum.GetValues(typeof(TEnum))select new { Id = Convert.ToInt32(e), Name = e.ToString() };return new SelectList(values, "Id", "Name", Convert.ToInt32(enumObj));
}
2. 改写Action
//
// GET: /Test/Edit/1public ActionResult Edit(int id)
{Test test = db.Test.Find(id);ViewBag.list = ((YesOrNo)test.Status).ToSelectList();//ViewData["status"] = ((YesOrNo)test.Status).ToSelectList(); //不可以的return View(test);
}
3. 改写View 中的Edit.cshtml
@Html.DropDownListFor(model=> model.Status, ViewBag.list as SelectList )
4. 运行 /Test/Edit/1 看看果效吧。
文章结束给大家分享下程序员的一些笑话语录: 《诺基亚投资手机浏览器UCWEB,资金不详或控股》杯具了,好不容易养大的闺女嫁外国。(心疼是你养的吗?中国创业型公司创业初期哪个从国有银行贷到过钱?)
转载于:https://www.cnblogs.com/jiangu66/archive/2013/04/25/3042249.html
枚举生成MVC3: Bind Enum To DropDownList ?-java教程相关推荐
- java枚举类型有什么用_[转载] Java中枚举类型的使用 - enum
本文转载自博客 - Java枚举类型, 博主对原文内容及结构作了一定的修改. 1 枚举类的编译特性 从JDK 5开始, Java中多了一个关键字 -- enum: 可以将一组具有名称的值(包括Stri ...
- Java中的enum详细解析------Java 语言中 Enum 类型的使用介绍
Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常 ...
- jaxb xml 生成 java_使用 JAXB 工具根据 Java 类生成 XML 模式
使用 JAXB 工具根据 Java 类生成 XML 模式 2010-06-10 18:24:26| 分类: web service |字号 订阅 关键字: java to xml 使用 JAXB 工 ...
- java enum values作用,Java Enum valueOf()方法与示例
枚举类valueOf()方法valueOf()方法在java.lang包中可用. valueOf()方法用于检索具有给定参数en_name(枚举名称)的给定参数en_ty(枚举类型)的枚举常量,我们需 ...
- Linux下生成指定大小文件(命令+Java程序)
1.dd命令 of:fileName为文件名称,例如test.txt : bs:设置一次复制的大小,例如1M: count:设置复制次数,例如100: dd if=/dev/zero of=<f ...
- c enum能像java一样吗_不一样的Java Enum
Emum是在Java5中引入的新特性,从那开始,它被广泛的用在不同的Java应用中,相比于C和C++的Enum,Java的Enum功能更加强大.但是很多开发人员暂时还没意识到它的强大之处,在Enum的 ...
- 枚举、宏定义enum /defint/typedef
#pragma mark 分类,可快速搜索 #pragma mark 1 枚举创建 int enumOne() { enum Season {spring=1,summer,autumn,wi ...
- java rtmp推流_视频直播生成推流和播放地址的Java代码示例
概述 直播推流地址和播放地址本身没有API接口,需要在客户端自行拼接地址,然后使用推流工具或者播放器对其推流或播放.本文主要介绍如何生成直播的推流以及播放地址. 详细信息 视频直播生成推流和播放地址的 ...
- oxygen 生成java对象_利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析...
首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...
最新文章
- Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...
- STM32-USART控制led和蜂鸣器
- 附加到IIS进程调试页面
- java源码导入eclipse_spring5源码如何导入eclipse
- java登录界面命令_Java命令行界面(第11部分):CmdLn
- 用three.js写一个简单的3D射门游戏
- 【CodeForces - 472A】Design Tutorial: Learn from Math (tricks,思维,数论,打表)
- Equivalent Strings
- lora信号测试小助手_433m无线收发模块LoRaF30如何进行距离测试
- MQTT工作笔记0005---CONNECT控制报文2
- 【选手分享】拿不到周冠军,我就只能写个好点的经验分享上首页了
- [教程] MPICH2 Win7 VS2008环境搭建
- cdn对动态网站有作用吗_使用CDN对动态网站内容加速有效果吗
- 2020 年你读了哪些觉得比较好的计算机书籍?
- python搭建博客系统_Mezzanine 搭建 BLOG 系统
- Gradle基础:4:Task的使用方式
- MySQL报错 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘
- 搭建PXE自动安装centos
- [刷题]leetcode\189_轮转数组
- 【论文汇总】2D目标检测文章汇总,持续更新
热门文章
- chrome浏览器的跨域设置,前端修改跨域问题
- 前端小知识点(3):JavaScript 单线程
- React开发(131):ant design学习指南之form中的resetFields
- [html] 能否做到禁止打印页面?如果可以那要怎么做?
- 工作404-判断浏览器函数
- 工作274:ele-图标使用
- 工作70:验证放在直接父级
- “约见”面试官系列之常见面试题之第八十七篇之ajax发送多个请求优化(建议收藏)
- “约见”面试官系列之常见面试题之第六十一篇之IE和DOM事件流(建议收藏)
- 前端学习(1984)vue之电商管理系统电商系统之完成静态属性