Html.DropDownListForの基本的な使用方法
Html.DropDownListFor は ASP.NET MVC フレームワークでドロップダウンリストを作成するために利用できる HTML ヘルパーメソッドです。基本的な使い方は次のようになります。
- データソースの定義:
最初にドロップダウンリストのデータソースを定義する必要があります。IEnumerableを使用してデータソースを表すことができ、各SelectListItemオブジェクトはドロップダウンリストの1つのアイテムを表します。
var items = new List<SelectListItem>
{
new SelectListItem { Value = "1", Text = "Option 1" },
new SelectListItem { Value = "2", Text = "Option 2" },
new SelectListItem { Value = "3", Text = "Option 3" }
};
- ドロップダウン リストを作成します。
次に、Html.DropDownListFor メソッドを使用してドロップダウン リストを作成できます。
@Html.DropDownListFor(m => m.SelectedOption, items)
上記のコードでは、m => m.SelectedOption はモデル内のプロパティであり、ユーザーが選択したオプションの値を格納します。 items は、前に定義されたデータソースです。
ドロップダウンリストに空の選択肢を追加するには、データソースにデフォルトの項目を追加します
items.Insert(0, new SelectListItem { Value = "", Text = "Please select an option" });
こうして、ドロップダウンリストは空の選択肢をデフォルトオプションとして表示します。
- 受け取ったオプションの値:
HTTP POSTリクエストにおいて、ユーザーが選択したオプションの値がそのまま、モデルのSelectedOptionプロパティにバインドされる。
[HttpPost]
public ActionResult MyAction(MyModel model)
{
var selectedOption = model.SelectedOption;
// ...
}
上述のコードでは、MyModelは、SelectedOptionプロパティを含むモデルクラスです。
Html.DropDownListForのデフォルト使用方法について説明しました。なお、Html.DropDownListForを使用する前にビューページで対応する名前空間をインポートする必要があります
@using System.Web.Mvc
@using System.Web.Mvc.Html