Bir açılır menü ile en basit olanı yapmaya çalışıyorum ve işe yaramıyor. SearchCriteria.Distance
adında bir tamsayı özelliği var. Bu basit bir tamsayı özelliği. Bu özelliği tam sayının bir sayım listesiyle ilişkilendirmeye çalışıyorum ama bağlayıcı olmayacak. Değer her zaman 0
'dur. Basit bir tamsayı listesi Çünkü ilişkilendirmek üzere Value
yok Text
var,ASP.Net MVC Değer Türü için Liste Seç
@Html.LabelFor(x => x.SearchCriteria.Distance, "Radius (miles)", new { @class="control-label" })
<div class="controls">
@Html.DropDownListFor(x => x.SearchCriteria.Distance, new SelectList(new int[] { 5, 15, 25, 50 }), new { @class="input-small", style="height:36px;"})
</div>
: İşte kod. Burada neyi yanlış yapıyorum?
Edit: Bu sorun, benim başıma gelen aptal bir hatanın sonucuydu. Formumdaki SearchCriteria.Distance
kimliğiyle gizli bir alanım vardı. Bunu unuttuğum için açılan değerin ayarlanmasını engelledi. Çözüm olarak aşağıdaki çözümü işaretledim, çünkü doğru.
'DropDownListFor' yardımcı birimi, her zaman HTML'de yalnızca dize değerleri alan bir'
İlk başta denediğim şey buydu, fakat bu durumda da bağlanmadı. –
'DropDownListFor', 'IEnumerable' öğelerini kabul eder ve OP'nin kodu çalışır - yeni SelectList (yeni int [] {5, 15, 25, 50})'. @DonFitz, denetleyici kodunuzu gönderebilir ve görüntüleyebilir. –