zoukankan      html  css  js  c++  java
  • 在 mvc 中使用下拉列表

    在mvc中经常会使用到下拉列表,以下以两种方式来实现,一种是以  @Html.DropDownList 扩展方法,一种是以 <select><option></option></select> 这样的 html 代码和 HashTable来实现

    1.  @Html.DropDownList 扩展方法

     View 代码:

                @if (ViewData["listCategory"] != null)
                {
                    @Html.DropDownList("listcategory", ViewData["listCategory"] as IEnumerable<SelectListItem>, "---请选择类型---")
                }
    View Code

    Control 代码:

     ViewData["listCategory"] = cardCategory.GetAll();
    
      public List<Sns.Management.Model.CardCategory> GetAll()
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select ");
                strSql.Append(" id,category_name");
                strSql.Append(" from pro_card_category");
                strSql.Append(" order by sort asc");
                DataSet ds = DbHelperMySQL.Query(strSql.ToString());
                System.Collections.Hashtable hashtable = new System.Collections.Hashtable();
    
                List<Sns.Management.Model.CardCategory> mylist = new List<Model.CardCategory>();
    
                if (ds.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        Sns.Management.Model.CardCategory model = new Model.CardCategory();
                        model.Id = row[0].ToString();
                        model.CategoryName = row[1].ToString();
                        mylist.Add(model);
                    }
                }
                return mylist;
            }
    View Code

    2. 使用 html 标签 + HashTable

     View 代码:

                <select style="130px;" id="CategoryId" name="CategoryId">
                    <option value="0">请选择分类名称</option>
                    @if (ViewData["listCategory"] != null)
                    {
                        System.Collections.Hashtable myhashtable = ViewData["listCategory"] as System.Collections.Hashtable;
    
                        foreach (System.Collections.DictionaryEntry item in myhashtable)
                        {
                            if (Model != null && Model.CategoryId == item.Key.ToString())
                            {
                                <option value="@item.Key" selected="selected">@item.Value</option>
    
                            }
                            else
                            {
                                <option value="@item.Key">@item.Value</option>
                            }
                        }
                    }
    
                </select>
    
                <select style="130px;" id="CategoryId" name="CategoryId">
                    <option value="0">请选择分类名称</option>
                    @if (ViewData["listCategory"] != null)
                    {
                        System.Collections.Hashtable myhashtable = ViewData["listCategory"] as System.Collections.Hashtable;
    
                        foreach (System.Collections.DictionaryEntry item in myhashtable)
                        {
                            <option value="@item.Key">@item.Value</option>
                        }
                    }
    
                </select>
    View Code

    Control 代码:

     ViewData["listCategory"] = skinCategory.GetAll();
    
      /// <summary>
            ///  hashtable  key: id的值,  value: 分类名称
            /// </summary>
            /// <returns></returns>
            public System.Collections.Hashtable GetAll()
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select ");
                strSql.Append(" id,category_name");
                strSql.Append(" from pro_skin_category");
                strSql.Append(" order by sort asc");
                DataSet ds = DbHelperMySQL.Query(strSql.ToString());
                System.Collections.Hashtable hashtable = new System.Collections.Hashtable();
                if (ds.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        hashtable.Add(row[0].ToString(), row[1].ToString());
                    }
                }
                return hashtable;
    
            }
    View Code
  • 相关阅读:
    头像上传ASP.NET MVC实现-可拖动大小实时预览
    C#中将图片文件转化为二进制数组-用于数据库存储
    Sqlserver查询表结构信息-字段说明、类型、长度等信息
    Asp.Net MVC 页面代码压缩筛选器-自定义删除无效内容
    [LeetCode] 503. Next Greater Element II
    [LeetCode] 859. Buddy Strings
    [LeetCode] 27. Remove Element
    [LeetCode] 287. Find the Duplicate Number
    [LeetCode] 142. Linked List Cycle II
    [LeetCode] 791. Custom Sort String
  • 原文地址:https://www.cnblogs.com/wisdo/p/4357621.html
Copyright © 2011-2022 走看看