Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC3下拉列表_C#_Asp.net Mvc_Asp.net Mvc 3_Razor_Html.dropdownlistfor - Fatal编程技术网

C# MVC3下拉列表

C# MVC3下拉列表,c#,asp.net-mvc,asp.net-mvc-3,razor,html.dropdownlistfor,C#,Asp.net Mvc,Asp.net Mvc 3,Razor,Html.dropdownlistfor,我想做一个下拉列表,数字是0-10。所以用户可以给一些东西打分。 目前,我有一个标签:@Html.LabelFor(model=>model.RATE) 我如何修改这个代码,我将有一个下拉框?下拉框的值将存储在model.RATE中 标签可以正常工作,但最好有一个下拉菜单 解决方案: @Html.DropDownListFor(model => model.RATE, Enumerable.Range(0,11).Select( x => new SelectListItem { T

我想做一个下拉列表,数字是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评级=新列表();
对于(var i=0;i x.比率,评级)
@Html.DropDownListFor(m=>m.RATE,Model.RateSelectList,”)

Model.RateSelectList的类型为IEnumerable,m.RATE是可为空的整数(int?)属性。第三个参数是默认文本,显示m.RATE是否为空。

0-10有11个元素。因此可枚举。范围(0,11)。这对我不起作用…您不能将
可枚举的
分配给
可枚举的
。您可以使用
可枚举的.Range(0,11)。选择(x=>new SelectListItem{Text=x.ToString()})
没错,但是SelectList有一个仅用于可枚举项的构造函数,因此您可以使用该构造函数来为您执行此操作。谢谢,这对我有用:@Html.DropDownListFor(model=>model.RATE,Enumerable.Range(0,11)。Select(x=>new SelectListItem{Text=x.ToString()}));在遇到这个问题之前,我不知道如何设置默认值。谢谢。
@Html.DropDownListFor(model => model.RATE, new SelectList(Enumerable.Range(0, 11)))
@{
    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(m => m.RATE, Model.RateSelectList, "<- Select Option ->")