記事詳細


投稿日
2025年11月13日18時25分
タイトル

SelectListオブジェクトの解説

内容

new SelectList(_context.Kamoku, "KamokuId", "KamokuName") は ASP.NET MVC(または ASP.NET Core MVC)で、ドロップダウンリストなどに使う SelectList オブジェクトを生成するコードです。

1. SelectList とは

SelectList は System.Web.Mvc(ASP.NET MVC)や Microsoft.AspNetCore.Mvc.Rendering(ASP.NET Core MVC)に含まれるクラスで、
ビューで <select> 要素を生成するためのデータ構造です。

HTML ヘルパーの Html.DropDownList や Html.DropDownListFor に渡すと、
自動的に <option> タグのリストに変換されます。

2. 引数の意味

Csharp
new SelectList(_context.Kamoku, "KamokuId", "KamokuName")
  • 第1引数 _context.Kamoku

    • データソース(IEnumerable 型)
    • ここでは Entity Framework の DbContext _context から取得した Kamoku テーブル(または DbSet)
    • 例: Kamoku モデルが KamokuId と KamokuName を持つ
  • 第2引数 "KamokuId"

    • 各 <option> の value 属性に使うプロパティ名
    • 例: <option value="1">...
  • 第3引数 "KamokuName"

    • 各 <option> の 表示テキストに使うプロパティ名
    • 例: <option value="1">数学</option>

3. 実際の動作例

もし Kamoku テーブルに以下のデータがあったとします:

KamokuIdKamokuName
1数学
2英語
3理科

このコードを使ってビューで

Csharp
@Html.DropDownList("KamokuId", new SelectList(_context.Kamoku, "KamokuId", "KamokuName"))

と書くと、HTML は次のようになります:

Html
<select id="KamokuId" name="KamokuId"> <option value="1">数学</option> <option value="2">英語</option> <option value="3">理科</option> </select>

4. 選択状態を指定する場合

第4引数に「選択する値」を渡せます。

Csharp
new SelectList(_context.Kamoku, "KamokuId", "KamokuName", selectedValue: 2)

これにより、KamokuId = 2 の項目(英語)が <option selected> になります。

✅ まとめ

  • SelectList は MVC の <select> 用データクラス
  • 第1引数: データソース
  • 第2引数: value 属性に使うプロパティ名
  • 第3引数: 表示テキストに使うプロパティ名
  • 第4引数(省略可): 選択状態にする値

Powered by Froala Editor

添付画像

画像はありません
Genreのカテゴリ-名
Controllers
編集 | 記事一覧