我試圖用下拉菜單做最簡單的事情,它只是不工作。我有一個稱爲SearchCriteria.Distance
的整數屬性。這是一個簡單的整數屬性。我試圖將該屬性綁定到一個整數下降列表,但它不會綁定。該值始終爲0
。下面的代碼:值類型的ASP.Net MVC選擇列表
@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>
因爲它是一個簡單的整數列表,有沒有Text
Value
將其與關聯。我在這裏做錯了什麼?
編輯:發現這個問題是我的一個愚蠢的錯誤的結果。我有一個隱藏字段,我的表單上有SearchCriteria.Distance
ID,我忘記了這一點,阻止了設置下拉值。我將下面的解決方案標記爲答案,因爲它是正確的。
'DropDownListFor'幫助程序將始終呈現HTML中只包含字符串值的'
這就是我第一次嘗試的方法,但它在這種情況下也沒有綁定。 –
'DropDownListFor'接受一個'IEnumerable'項目,並且OP的代碼將工作 - 'new SelectList(new int [] {5,15,25,50})''。 @DonFitz可以發佈你的控制器代碼和視圖。 –