web-dev-qa-db-ja.com

Asp.net MVCドロップダウンリストに数値を入力する方法

オブジェクトのリストを入力する必要がある同様の例を見てきましたが、私が達成したいのは、私のビューの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>
21
user1781232

次のようなものを使用できます。

@Html.DropDownListFor(m => m.NumberOfTickets, Enumerable.Range(1, 10).Select(i => new SelectListItem { Text = i.ToString(), Value = i.ToString() }))

これは、1〜10の整数の列挙可能なオブジェクトを作成し、LINQのビットを使用してIEnumerable<SelectListItem>に変換し、Html.DropDownListForが受け入れることができるようにするだけです。

57
Chris Pratt

年は、現在の年から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
Saif