現在、asp.net 5 で taghelpers を使用しようとしています。ViewBag のリストで選択タグ ヘルパーを使用したいと考えています。ビューバッグの代わりにIEnumerableであるモデルからそれを取得しようとするため、asp-forフィールドに入力したものはすべてエラーになります。
これを置き換えたい:
@model IEnumerable<InvoiceIT.Models.Invoice>
@using (Html.BeginForm())
{
<p>
@Html.DropDownList("Companies", String.Empty)
<input type="submit" value="Filter" class="btn btn-default" />
</p>
}
これとともに:
@model IEnumerable<InvoiceIT.Models.Invoice>
<form asp-controller="Invoice" asp-action="Index" method="post" class="form-horizontal" role="form">
<select asp-for="????" asp-items="ViewBag.Companies" class="form-control">
</select>
<input type="submit" value="Save" class="btn btn-default" />
</form>
コントローラーで選択リストを作成する方法は次のとおりです。
ViewBag.Companies = new SelectList(await DbContext.Company.ToListAsync(), "CompanyID", "Name");