zoukankan      html  css  js  c++  java
  • Enum简单例子DropdownList

    借鉴: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 = 0)
            {
                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 ,得到的序列值和文本全是文字了,不知原因 注意
  • 相关阅读:
    个人附加作业
    个人最终总结
    结对作业--电梯调度
    VS2015安装&简单的C#单元测试
    C#程序代码分析(第三周)
    HTML学习有感
    gitlab使用有感之坚持
    学习有感

    Activity总结
  • 原文地址:https://www.cnblogs.com/heifengwll/p/3476851.html
Copyright © 2011-2022 走看看