我见过类似的例子,人们需要填充一个对象列表,但我想要实现的是在我的DropdownlistFor中显示数字1-10。有没有简单的方法可以做到这一点。以下是我所拥有的。
<div class="form-group">
@Html.LabelFor(model => model.NumberOfTickets, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.NumberOfTickets)
@Html.ValidationMessageFor(model => model.NumberOfTickets)
</div>
</div>
发布于 2015-04-15 20:34:54
您可以使用类似以下内容:
@Html.DropDownListFor(m => m.NumberOfTickets, Enumerable.Range(1, 10).Select(i => new SelectListItem { Text = i.ToString(), Value = i.ToString() }))
所有这一切都是创建一个介于1和10之间的整数的可枚举数,然后使用一点LINQ将其转换为Html.DropDownListFor
可以接受的IEnumerable<SelectListItem>
。
发布于 2016-12-29 10:39:29
从当前年份到n年前的年份列表。
int startYear = 1980
@Html.DropDownListFor(m => m.DateofEstablishment, Enumerable.Range(0, (DateTime.Now.Year - startYear -1)).Select(i => new SelectListItem { Text = (DateTime.Now.Year - i).ToString(), Value = i.ToString() }), "Please select year", new { @class = "form-control", @required = "required" })
发布于 2020-09-01 16:15:22
对于较新版本的ASP Mvc或Asp Core,您可以使用以下内容:
<input type="number" asp-for="NumberOfTickets" class="form-control" placeholder="Number of Tickets" min="1" max="10" />
完整的代码如下:
<div class="form-group">
@Html.LabelFor(model => model.NumberOfTickets, new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="number" asp-for="NumberOfTickets" class="form-control" placeholder="Number of Tickets" min="1" max="10" />
@Html.ValidationMessageFor(model => model.NumberOfTickets)
</div>
这是我用来将int值绑定到模型的方法。DropDownListFor需要一个IEnumerable,对于简单的数字下拉,您不需要它。
https://stackoverflow.com/questions/29659911
复制相似问题