借鉴:http://www.cnblogs.com/suizhikuo/archive/2013/06/07/3125225.html

vs2012 mvc4

最终效果:

1、建立mvc4 Internet应用程序

2、Models下建立Product.cs类

 public class Product
{
public int Id { get; set; } public string Name { get; set; } public int TypeId { get; set; } } public enum TypeName
{
糖果类,
干果类,
水果类
} public class EnumExt
{
public static List<ListItem> ToListItem<T>()
{
List<ListItem> li = new List<ListItem>();
foreach (int s in Enum.GetValues(typeof(T)))
{
li.Add(new ListItem { Value = s.ToString(), Text = Enum.GetName(typeof(T), s) });
}
return li;
}
}

  3、在AccountModels.cs下 数据库上下文UsersContext类中添加实体集集合

public DbSet<Product> Products { get; set; }

4、重新生成解决方案

5、添加控制器ProductController

6、ProductController.cs下 Create方法 ,添加

 public ActionResult Create()
{
ViewBag.TypeId = new SelectList(EnumExt.ToListItem<TypeName>(), "Value", "Text");
return View();
}

Edit方法 ,添加

 public ActionResult Edit(int id = )
{
Product product = db.Products.Find(id);
ViewBag.TypeId = new SelectList(EnumExt.ToListItem<TypeName>(), "Value", "Text",product.TypeId);
if (product == null)
{
return HttpNotFound();
}
return View(product);
}

7、视图页面Create修改

@Html.EditorFor(model => model.TypeId) 修改为

@Html.DropDownList("TypeId")

视图页面Edit修改

@Html.EditorFor(model => model.TypeId) 修改为

@Html.DropDownList("TypeId")

视图页面Index 修改

@Html.DisplayFor(modelItem => item.TypeId)修改为

@Enum.GetName(typeof(MvcApplication2.Models.TypeName),item.TypeId)

8、运行 添加数据 查看

源代码:http://pan.baidu.com/s/1i3xBIF7

后来发现:

foreach (int s in Enum.GetValues(typeof(T))) 此处若 int s写为 var s ,得到的序列值和文本全是文字了,不知原因 注意

Enum简单例子DropdownList的更多相关文章

  1. C#多线程简单例子讲解

    C#多线程简单例子讲解 标签: 多线程c#threadobjectcallbacktimer 分类: C#(7) 转载网址:http://www.knowsky.com/540518.html .NE ...

  2. Hibernate4.2.4入门(一)——环境搭建和简单例子

    一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...

  3. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

  4. spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...

  5. ko 简单例子

    Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...

  6. mysql定时任务简单例子

    mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9     如果要每30秒执行以下语句:   [sql] update userinfo set endtime = now() WHE ...

  7. java socket编程开发简单例子 与 nio非阻塞通道

    基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特 ...

  8. 一个简单例子:贫血模型or领域模型

    转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...

  9. [转] 3个学习Socket编程的简单例子:TCP Server/Client, Select

    以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计 ...

随机推荐

  1. 十二种获取Spring的上下文环境ApplicationContext的方法

    转载:https://my.oschina.net/u/2391658/blog/729414

  2. tomcat 自定义classpath(亲自测试)

    因为一直以来使用tomcat和weblogic作为应用服务器为主,最近在升级新中间件的过程中遇到一个问题,我们的web前端应用现在升级是进行全量包升级的,因为现在的系统架构为前端和后端通过rpc框架交 ...

  3. .NET程序员走向高端必读书单汇总

    .NET程序员走向高端必读书单汇总 一.知识树 1. 基本能力 1.1 数学 1.2 英语 1.3 语言表达 2. 计算机组织与体系结构 3. 算法与数据结构 4. 操作系统 5. 计算机网络 6. ...

  4. 把普通对象转换成json格式的对象

    1.什么叫做JSON?JSON只是一种数据格式(它不是一种新的数据类型) var obj = {name: "中国", age: 5000};//->普通格式的对象 var ...

  5. jqGrid几个需要注意的默认设置

    jqGrid中的option属性设置中,几乎每个属性都会给出默认值,然而,有些默认值实在有些坑爹,导致在使用过程中,如果没有注意到而使用了默认值,就会出现一些问题. height:是指jqGrid表格 ...

  6. c++对象池使用

    // // ObjectPool.h // DragonBall // // Created by user on 13-8-22. // // #include <iostream> # ...

  7. 深入浅出node(1) Node简介

    这一系列主要是自己在学习深入浅出node.js这本书的学习笔试,部分加入了自己的一些理解 分享给一起学习node的小伙伴 自己还是个初学者 有很多地方理解的不到位 一起交流 一 什么是node 1.1 ...

  8. 如何调用外部的Web API

    Uri uri = new Uri(url + "?" + postData); System.Net.HttpWebRequest request = (System.Net.H ...

  9. iOS 线程安全之@synchronized的用法

    @synchronized(self)的用法: @synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改.这个是objective-c的一个锁定令牌,防止self ...

  10. 转载 Android 多线程处理之多线程用法大集合

    handler.post(r)其实这样并不会新起线程,只是执行的runnable里的run()方法,却没有执行start()方法,所以runnable走的还是UI线程. 1.如果像这样,是可以操作ui ...