MVC3下拉列表

我想制作一个下拉列表,数字为0-10。 所以用户可以评价一些东西 目前,我有一个标签:@ Html.LabelFor(model => 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(); 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 ,m.RATE将是您可以为null的整数(int?)属性。 第三个参数是您的默认文本,如果m.RATE为null则显示该文本。