Asp.net mvc 4 ASP.NET MVC 4 Razor视图:如何向SelectListItem的文本和值属性添加循环控制变量
例如,以下是我的代码:Asp.net mvc 4 ASP.NET MVC 4 Razor视图:如何向SelectListItem的文本和值属性添加循环控制变量,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,例如,以下是我的代码: @{ List<SelectListItem> listItems = new List<SelectListItem>(); for (int i = 1; i <= 5; i++) { listItems.Add(new SelectListItem { Text = "i", Value = "i" } );
@{
List<SelectListItem> listItems = new List<SelectListItem>();
for (int i = 1; i <= 5; i++) {
listItems.Add(new SelectListItem
{
Text = "i",
Value = "i"
}
);
}
}
@Html.DropDownListFor(model => model.Level, listItems, "-- Select --")
@Html.ValidationMessageFor(model => model.Level)
@{
List listItems=新列表();
对于(int i=1;i model.Level,listItems,“--Select-->”)
@Html.ValidationMessageFor(model=>model.Level)
这就是我想做的。我想在每次迭代中用循环控制变量填充下拉列表,即对于I=1,Text
和Value
将是“1”;对于I=2,Text
和Value
将是“2”,依此类推
如何在Razor中实现这一点
每当我尝试上述代码时,只有“I”显示5次,但我希望显示1到5
ASP.NET MVC 4,实体框架5
List<SelectListItem> listItems = new List<SelectListItem>();
for (int i = 1; i <= 5; i++) {
listItems.Add(new SelectListItem
{
Text = i.ToString(),
Value = i.ToString()
});
}
但无论如何,此代码属于控制器,而不是视图(并将其分配给(最好)视图模型属性或
ViewBag
属性。其Text=i.ToString(),Value=i.ToString()
(无引号),但可以简化为var listItems=new SelectList(可枚举的.Range(1,5));
@StephenMuecke是的,我尝试了Text=I.ToString()和Value=I.ToString(),它对我有效。我会尝试第二个,然后让你知道。:@StephenMuecke成功了!!!!!谢谢。)
SelectList listItems = new SelectList(Enumerable.Range(1, 5));