我想提出一个下拉列表,编号为0-10。 因此,用户可以评价的东西。 目前,我有一个标签:@ Html.LabelFor(型号=> model.RATE)我如何修改这个代码,我将有一个下拉框? 而且该下拉框的值将被存储在model.RATE?
该标签的工作,但它会好得多有一个下拉菜单。
解:
@Html.DropDownListFor(model => model.RATE, Enumerable.Range(0,11).Select( x => new SelectListItem { Text = x.ToString() }));
只要创建列表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 )
@Html.DropDownListFor(model => model.RATE, new SelectList(Enumerable.Range(0, 11)))
这将做数据绑定的形式和从表单
@Html.DropDownListFor(m => m.RATE, Model.RateSelectList, "<- Select Option ->")
Model.RateSelectList将IEnumerable类型<SelectListItem>,m.RATE将是你的空整型(INT?)属性。 第三个参数是默认的文本,将显示是否m.RATE为null。