MVC4 下DropDownList使用方法


與MVC3相比,差別很大:

表現形式一:

 public ActionResult Main()
        {
            List<SelectListItem> items = new List<SelectListItem>();
            items.Add(new SelectListItem { Text = "Action", Value = "0" });
            items.Add(new SelectListItem { Text = "Comedy", Value = "2" });
            ViewBag.MovieType = items;
            return View();
        }
<h2>@Html.DropDownList("MovieType")</h2>

 表現形式二:

public enum Unit
{
  噸,
  堆,
  捆
}
var values = Enum.GetValues(typeof(Unit)).Cast<Unit>();
var items = from value in values
           select new SelectListItem { Text = value.ToString(), Value = value.ToString()., Selected = value == Unit.堆 };
@Html.DropDownList("MovieType")

使用方法擴展:

/// <summary>
/// 在MVC開發中我們常常用到枚舉類型,通常枚舉類型在使用中是是用DropDownList,每次轉換不是什么好辦法。 通過擴展加以實現此功能。
/// </summary>
public static class ExSelectListItem
{
 public static IEnumerable<SelectListItem> ToSelectListItem(this Enum valueEnum)
 {
  var values = Enum.GetValues(valueEnum.GetType());
  var result= from int value in values select new SelectListItem { Text =Enum.GetName(valueEnum.GetType(),value), Value = value.ToString() };
 return result;
   }
   public static List<SelectListItem> ToSelectListItem(this Enum valueEnum, string selectName)
   {
     return (from int value in Enum.GetValues(valueEnum.GetType())
             select new SelectListItem
                    {
                        Text = Enum.GetName(valueEnum.GetType(), value),
                        Value = Enum.GetName(valueEnum.GetType(), value),
                        Selected = Enum.GetName(valueEnum.GetType(), value) == selectName ? true : false
                    }).ToList();
        }
    }
var items = Unit.堆.ToSelectListItem("");
ViewBag.Unit = items;

 表現形式三(編輯、更新有默認值):

 //下拉菜單
            List<SelectListItem> list = new List<SelectListItem>()
            {
                new SelectListItem(){Value="Man",Text="Man"},
                new SelectListItem(){Value="Female",Text="Female"}
            };
            ViewBag.Gender = new SelectList(list, "Value", "Text",entity.Gender);

 

 @Html.DropDownList("Gender", null, new { @class = "form-control" })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM