2013-04-19 12 views
11

W mojej maszynce generuję listę rozwijaną w ten sposób.Jak wygenerować listę rozwijaną w asp.net Maszynka do golenia MVC

@{ 
     var listItems = new List<ListItem> 
     { 
       new ListItem { Text = "Home To School", Value = "0" }, 
       new ListItem { Text = "School To Home", Value = "1" } 
     }; 
    } 

@Html.DropDownList("Direction", new SelectList(listItems),new {onchange = "getAlldata()"}) 

HTML generowany jest jak ten

<select id="Direction" name="Direction" onchange="getAlldata()"> 
<option>Home To School</option> 
<option>School To Home</option> 
</select> 

ale chcę, aby wygenerować coś HTML jak ten

<select id="Direction" name="Direction" onchange="getAlldata()"> 
<option value="0">Home To School</option> 
<option value="1">School To Home</option> 
</select> 

Jak mogę to zrobić.

Odpowiedz

26

Używaj go jak to

@Html.DropDownList("Direction", new SelectList(listItems , "Value" , "Text"),new {onchange = "getAlldata()"}) 
+0

Och, zrobiłem to wcześniej, ale zapomniałem. –

+0

Gdzie umieszczasz definicję funkcji "getAlldata()"? – shim

+2

Lub po prostu '@ Html.DropDownList (" Direction ", llistItems, new {onchange =" getAlldata() "})' - jego bezcelowy dodatkowy nagłówek do utworzenia drugiej 'SelectList' z istniejącej –

4

Here kilka przykładów jak zbudować DropDownList z brzytwa, jak jedna z użyciem SelectListItem:

public ActionResult Index() 
{ 
    var db = new NorthwindEntities(); 
    IEnumerable<SelectListItem> items = db.Categories 
    .Select(c => new SelectListItem 
        { 
        Value = c.CategoryID.ToString(), 
        Text = c.CategoryName 
        }); 
    ViewBag.CategoryID = items; 
    return View(); 
} 

EDIT:

Sprawdź to:

@Html.DropDownList("Direction", new List<SelectListItem> 
{ 
    new SelectListItem{ Text = "Home To School", Value = "0" }, 
    new SelectListItem{ Text = "School To Home", Value = "1" } 
},new {onchange = "getAlldata()"}) 
+0

Muszę wygenerować moją listę rozwijaną tylko w widoku. Jest również statyczny, jak pokazano na moim pytaniu. –

+0

@vaibhavshah To był tylko przykład stosując zbiór 'SelectListItem' qouted z artykułu, aby pokazać jeden sposób to zrobić, ja nie rozumiem -1. Dodałem teraz inną metodę dostosowaną do twoich danych. –

+0

@vaibhavshah Czy mógłbyś wyjaśnić to -1? Dałem ci artykuł z różnymi odpowiedziami na ten temat i zacytowałem jedną z nich. Nie widzę powodu do zaniechania. –

Powiązane problemy