2013-08-06 10 views
7

Próbuję zrozumieć C# ASP.NET MVC4 i wciąż napotykam SelectList. I nie wydaje się znaleźć wyjaśnienie, co to jest, że ten drugi:Co to jest klasa SelectList wC#?

http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlist%28v=vs.108%29.aspx

Czy ktoś może dać proste wyjaśnienie tego, i pokazać, jak go używać?

+0

http://www.aspnetmvcninja.com/views/asp-net-mvc-select-list-example – Satpal

+0

http://www.asp.net/mvc/tutorials/javascript/working- z rozwijaną listą-box-i-jquery/using-the-dropdownlist-helper-with-aspnet-mvc –

+1

Zobacz http://stackoverflow.com/questions/781987/how-can-i-get-this- asp-net-mvc-selectlist-to-work dla niektórych przykładów. – Phil

Odpowiedz

7

Istnieje prosty kod, który służy do dropdownlist w ASP.NET MVC:

W Controller:

List<SelectListItem> dropdownItems = new List<SelectListItem>(); 
    dropdownItems.AddRange(new[]{ 
          new SelectListItem() { Text = "Option One", Value = "1" }, 
          new SelectListItem() { Text = "Option Two", Value = "2" }, 
          new SelectListItem() { Text = "Option Three", Value = "3" }}); 
    ViewData.Add("DropDownItems", dropdownItems); 

A w cshtml widzenia:

@Html.DropDownList("Types", ViewData["DropDownItems"] as List<SelectListItem>) 
@Html.ValidationMessageFor(model => model.Types) 
+0

Dziękuję, masz na myśli, że dropdownItems jest bardzo podobny do obiektu typu SelectList? Poza tym większość odpowiedzi i komentarzy nie wspomina o klasie selectList - czy oznacza to, że nie jest używana dużo, a ja zwykle używałbym listy SelectListItem? – spiderplant0

+0

Tak, 'SelectListItem' jest typem' System.Web.Mvc.SelectList'. – Mojtaba

3

selectList klasa, która zawiera parę klucz, wartość z wybranym elementem do wartości True.

Na przykład,

listItems.Add(new SelectListItem 
       { 
        Text = xElement.Element("text").Value, 
        Value = xElement.Element("value").Value 
       }); 

var selected = listItems.Where(x => x.Value == "Test1").First(); 
selected.Selected = true; 

Próbka ta, która przyczynia się do uzyskania wybranej wartości w dropdownlist.