枚举生成MVC3: Bind Enum To DropDownList ?-java教程
生活随笔
收集整理的這篇文章主要介紹了
枚举生成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教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# 错误 两个输出文件名解析为同一个输
- 下一篇: java 简单数据类型_java基本数据