【问题标题】:Asp.net MVC how to populate dropdown list with numbersAsp.net MVC 如何用数字填充下拉列表
【发布时间】:2015-06-21 23:39:14
【问题描述】:

我见过类似的例子,人们需要填充对象列表,但我想要实现的只是在我的 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>

【问题讨论】:

标签: c# asp.net-mvc model-view-controller html.dropdownlistfor


【解决方案1】:

你可以使用类似下面的东西:

@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&lt;SelectListItem&gt;

【讨论】:

    【解决方案2】:

    从当前年份到 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" })
    

    【讨论】:

      【解决方案3】:

      对于较新版本的 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 您不需要简单的数字下拉列表。

      【讨论】:

        猜你喜欢
        • 2014-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-11
        • 1970-01-01
        相关资源
        最近更新 更多