• [转]Html.DropDownList()的用法 ( Asp.Net MVC)


    Html.DropDownList()赋默认值:
    
    页面代码如下:
    
      <% 
                    List<SelectListItem> list = new List<SelectListItem> {
    
                    new SelectListItem { Text = "启用", Value = "0",Selected = true},
    
                    new SelectListItem { Text = "禁用", Value = "1" } };
      %>//list储存dropdownlist的默认值
     <%=Html.DropDownList("state",list,Model.state) %>  //state为实体的属性,默认选中"启用"
    
    Html.DropDownList()从数据库读取值:
    
    页面代码如下:
    
    <%= Html.DropDownList("Category", ViewData["Categories"] as SelectList,"--请选择--",new { @class = "my-select-css-class" } )%>
    
    Controllers代码:
    
    public ActionResult Create() 
    
    {
            List<Category> categories = categoryService.GetAll();
            ViewData["Categories"] = new SelectList(categories, "Id", "Name");
            return View();
    }
    
     
    
     
    
    
    
    •原型一:
    
    
    public static string DropDownList(this HtmlHelper htmlHelper, string name)
    
    {
    
         IEnumerable<SelectListItem> selectData = htmlHelper.GetSelectData(name);
    
         return htmlHelper.SelectInternal(null, name, selectData, true, false, null);
    
    }
    
     
    
     
    
     
    
    
    
    
    第一种方式:
    List<SelectListItem> items = new List<SelectListItem>();
    
    items.Add(new SelectListItem() { Text = "001", Value = "1", Selected = false });
    
    items.Add(new SelectListItem() {Text = "002", Value = "2", Selected = false });
    
    ViewData["items"] = items;
    
     
    
    简化后:
    
     
    
     
    
    var items = new List<SelectListItem>()
    
    {
    
        (new SelectListItem() {Text = "001", Value = "1", Selected = false}),
    
        (new SelectListItem() {Text = "002", Value = "2", Selected = false})
    
    };
    
    将items值给ViewData:
    
    ViewData["items"] = items;
    
     
    
    在aspx中这样使用:
    
    <%= Html.DropDownList("items") %>
    
     
    
    生成的代码中,items将作为<select>标签的name和id值。
    
     
    
    
    •原型二:
    
    public static string DropDownList(this HtmlHelper htmlHelper, string name, IEnumerable<SelectListItem> selectList)
    {
        return htmlHelper.DropDownList(name, selectList, null);
    }
    使用方法:
    
    <%= Html.DropDownList("items", new List<SelectListItem>
    {
        (new SelectListItem() {Text = "001", Value = "1", Selected = false}),
        (new SelectListItem() {Text = "002", Value = "2", Selected = false})
    })%>
    
    在这里,不需要ViewData传入值,第一个参数items作为标签的name和id的值。items也可以是任意的字符串。
    •原型三
    public static string DropDownList(this HtmlHelper htmlHelper, string name, string optionLabel)
    {
        IEnumerable<SelectListItem> selectData = htmlHelper.GetSelectData(name);
        return htmlHelper.SelectInternal(optionLabel, name, selectData, true, false, null);
    }
    
    
    使用方法和第一种原型相同,string optionLabel作为一个缺省的空的选项。这样可以完成加入不需要选取任何选项的场景。 
    
  • 相关阅读:
    《O2O实战:他们是如何利用互联网的》.pdf
    建议收藏,mybatis插件原理详解
    《Tensorflow:实战Google深度学习框架》.pdf
    MyBatis插件原理及应用(上篇)
    《大数据算法》.pdf
    答了Mybatis这个问题后,面试官叫我回去等通知……
    《构建高性能WEB站点》.pdf
    SpringBoot 构建 Docker 镜像的最佳 3 种方式
    快速了解阿里微服务热门开源分布式事务框架——Seata
    超值干货 | 建议收藏:精美详尽的 HTTPS 原理图注意查收!
  • 原文地址:https://www.cnblogs.com/hesijian/p/6432813.html
Copyright © 2020-2023  润新知