Visual Studio 2022 ASP.NET Core MVC アプリをフレームワーク .NET 6.0 で作成しています。
モデルのデータをリストボックスに表示させたいと思っています。
しかし、@Html.ListBoxForの使い方があまりネットに落ちていなく困っています。
@Html.DropDownListForは表示できましたが、リストボックスで表示しようとすると
「複数選択が許可されている場合、パラメーター'expression'はIEnumerableに評価される必要があります」
と出てしまいます。
//HTML @Html.ListBoxFor( model => model.IngredientsName, // プロパティ (IEnumerable<SelectListItem>)ViewBag.PlanmIngredient, // 選択オプ new { @class = "select2_multiple form-control" , @id = "IngredientsName} // その他の属性 ) //Controller public async Task<IActionResult> Edit(int? id) { ViewBag.PlanmIngredient = _context.MIngredients.ToArray().Select(m => new SelectListItem() { Value = m.Id.ToString(), Text = m.IngredientsName }); if (id == null) { return NotFound(); } var mIngredient = await _context.MIngredients.FindAsync(id); if (mIngredient == null) { return NotFound(); } return View(mIngredient); } //Model public string IngredientsName { get; set; } = null!;
追記
SurferOnWww
DropDownListFor では何故ダメなのですか? 複数項目を選択できるようにしたいからですか?それとも単に見かけの問題だけで選択できる項目は単一でよいが、ドロップダウン形式でクリックして開いて項目を表示するのではなく、箱 (ListBox) に複数項目を表示し箱に収まらない項目はスクロールして見る形にしたいということですか?
tomokia
引用テキスト複数項目選択できるようにしたいからです。
回答1件
あなたの回答
tips
プレビュー