我知道这不是最好的做法,但我很好奇你如何使用剃须刀中的dropdownlist
循环填充for
。
我试图这样做
@{
int year = DateTime.Now.Year;
@Html.DropDownListFor(model => model.ResolutionYear, new List<SelectListItem>
{
for (var i = 0; i < 10; i++)
{
if (year - i == year)
{
new SelectListItem() { Text = (year - i).ToString(), Value = (year - i).ToString(), Selected = true };
}
else
{
new SelectListItem() { Text = (year - i).ToString(), Value = (year - i).ToString() };
}
}
})
}
它似乎不喜欢我这样做的方式,因为它不停地对我大喊} expected
我拥有每个开放式括号的所有关闭括号。也许我填充了我的DropDownList
错误?是否有可能以这种方式填充或者我应该在控制器中进行填充?
答案 0 :(得分:2)
不要这样做。保持您的意见尽可能良好。使用您的视图模型和控制器,这就是他们的用途。但出于好奇,这是一种方式:
@{ var year = DateTime.Now.Year; }
<select>
@for (var i = year; (i > year - 10); i--)
{
if (i == (year - 3))
{
<option value="@i" selected>@i</option>
}
else
{
<option value="@i">@i</option>
}
}
</select>