MVC3: Bind Enum To DropDownList ?
来源:互联网 发布:手机淘宝主页怎么设置 编辑:程序博客网 时间:2024/05/08 11:16
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; } }}/*-- 对应SQL CREATE TABLE Test(Id INT PRIMARY KEY IDENTITY(1,1),[Status] INT)goINSERT 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/1 public 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 看看效果吧。
- MVC3: Bind Enum To DropDownList ?
- mvc3[1]DropDownList
- C# 枚举类型转换字符串 Enum to string,枚举转换为下拉菜单 Enum DropDownList
- DropDownList 绑定 枚举 Enum
- enum dropdownlist c# .net
- Datagrid Bind DropDownlist.....
- dropdownlist数据bind
- MVC3 Html.DropDownList使用方法总结
- How do I bind the values of an enum to a ComboBox?
- ASP.NET MVC3 DropDownList 验证问题
- Asp.net Mvc3系列 之 Html.DropDownList
- 绑定Enum到DropDownList控件的方法
- 绑定Enum到DropDownList控件的方法
- Enum绑定DropDownList方法(转)
- 关于RadioButtonList,CheckBoxList,DropDownList的Selected Bind
- 有关GridView(VSTS08)中bind DropDownlist
- ASP.NET: Bind Dropdownlist With Images
- Asp.net MVC3 关于@Html中ListBox、DropDownList使用
- HTML基础教程第2课-HTML基本元素和元素属性
- HDOJ 1044 Collecting More Jewels
- VS2010找不到CanCreateFileCodeModelThroughProjectRoot
- Nutch 运行错误
- JQuery 根据所设密码自动判断其强度
- MVC3: Bind Enum To DropDownList ?
- Diagnosing DFC Configuration Problems
- 每次启动Word、Excel2007时都要进行安装配置的解决方法
- Android中dp和px之间进行转换
- powerdesigner 同步数据库报错
- android DDMS 连接真机(己ROOT),用file explore无法查看修改data/data文件夹的解决办法
- android 开机启动加速
- 关于Android图片的异步加载
- C# Winform 反射调用打开窗体