我试图用下拉菜单做最简单的事情,它只是不工作。我有一个称为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可以发布你的控制器代码和视图。 –