2015-04-15 23 views
16

İnsanların bir nesne listesiyle doldurmaları gereken benzer örnekler gördüm ancak elde etmek istediğim tek şey, benim görünümümdeki DropdownlistFor'da 1-10 arasındaki sayılara sahip olmaktır. . Bunu yapmanın basit bir yolu var mı? Benim sahip olduğum şey şu.Asp.net MVC sayıları ile açılır listeyi nasıl doldurulur?

<div class="form-group"> 
    @Html.LabelFor(model => model.NumberOfTickets, new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.DropDownListFor(model => model.NumberOfTickets) 
     @Html.ValidationMessageFor(model => model.NumberOfTickets) 
    </div> 
</div> 
+0

Modelinizi gönderir misiniz? –

+0

Bu, sorduğunuz şeye yakın. http://stackoverflow.com/questions/10709588/mvc3-dropdownlistfor – ANG

cevap

42

Sen gibi bir şey kullanabilirsiniz:

@Html.DropDownListFor(m => m.NumberOfTickets, Enumerable.Range(1, 10).Select(i => new SelectListItem { Text = i.ToString(), Value = i.ToString() })) 

Bütün bunlar 1 ile 10 arasında tamsayılar bir enumerator oluşturmak ve daha sonra bir IEnumerable<SelectListItem>Html.DropDownListFor o birimine dönüşmesi LINQ biraz kullanır gelmez kabul edilebilir.

3

Geçerli yıldan n yıl öncesine ait yıl listesi.

int startYear = 1980 
@Html.DropDownListFor(m => m.DateofEstablishment, Enumerable.Range(0, (DateTime.Now.Year - startYear -1)).Select(i => new SelectListItem { Text = (DateTime.Now.Year - i).ToString(), Value = i.ToString() }), "Please select year", new { @class = "form-control", @required = "required" })