我想制作一个下拉列表,数字为0-10。所以用户可以评价一些东西 目前,我有一个标签:@ Html.LabelFor(model => model.RATE) 如何修改此代码,我将有一个下拉框?并且下拉框的值将存储在model.RATE?
中标签正在运作,但是有一个下拉菜单会好得多。
SOLUTION:
@Html.DropDownListFor(model => model.RATE, Enumerable.Range(0,11).Select( x => new SelectListItem { Text = x.ToString() }));
答案 0 :(得分:4)
@Html.DropDownListFor(model => model.RATE, new SelectList(Enumerable.Range(0, 11)))
这将执行数据绑定到表单和表单
答案 1 :(得分:4)
只需创建包含评分的SelectListItem
个对象列表,然后使用Html.DropDownListFor
并将评分存储在模型中Model.RATE
)。
@{
var ratings = new List<SelectListItem>();
for( var i = 0; i <= 10; i++ ) {
days.Add( new SelectListItem { Text = i.ToString(), Value = i.ToString(), Selected = Model.RATE == i } );
}
}
@Html.DropDownListFor( x => x.RATE, ratings )
答案 2 :(得分:1)
@Html.DropDownListFor(m => m.RATE, Model.RateSelectList, "<- Select Option ->")
Model.RateSelectList的类型为IEnumerable&lt; SelectListItem&gt;,m.RATE将是您的可空整数(int?)属性。第三个参数是您的默认文本,如果m.RATE为空,则显示该文本。