質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

解決済

C# @ListBoxFor 使い方

tomokia
tomokia

総合スコア28

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

1回答

0評価

0クリップ

309閲覧

投稿2022/05/19 02:43

編集2022/05/19 19:44

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

引用テキスト複数項目選択できるようにしたいからです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

SurferOnWww

2022/05/19 03:36

DropDownListFor では何故ダメなのですか? 複数項目を選択できるようにしたいからですか? それとも単に見かけの問題だけで選択できる項目は単一でよいが、ドロップダウン形式でクリックして開いて項目を表示するのではなく、箱 (ListBox) に複数項目を表示し箱に収まらない項目はスクロールして見る形にしたいということですか?
tomokia

2022/05/19 04:03

複数項目選択できるようにしたいからです。
SurferOnWww

2022/05/19 04:38

質問欄を編集して追加情報として追記願います。 ところで、それを受けるアクションメソッド側では複数の選択項目を受けとるための対応はされているのですか?
tomokia

2022/05/19 05:24

ListBoxForは複数取得したい場合ですのでその追加情報は必要ないかと思いますが... 受け取る側について、一切いじっていませんでした。参考サイト等ありましたら教えてください。
SurferOnWww

2022/05/19 05:30

> ListBoxForは複数取得したい場合ですのでその追加情報は必要ないかと思いますが... いや、書いてください。 上のコメントに書きましたが、「それとも単に見かけの問題だけで選択できる項目は単一でよいが、ドロップダウン形式でクリックして開いて項目を表示するのではなく、箱 (ListBox) に複数項目を表示し箱に収まらない項目はスクロールして見る形にしたい」ということかもしれないと想像してました。なぜなら、Edit で複数項目の選択を行うことは考えにくいから。回答者がそういう無駄な想像をしなくて済むよう書いてください。
tomokia

2022/05/19 05:33

承知しました
SurferOnWww

2022/05/19 07:02

引用は文の頭に > を付けてください。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。