mitログ

学習ノート代わりに学んだことをまとめるためのブログです。

フォーム関連のビューヘルパー

ASP.NET MVC5 の学習メモ。

フォームを生成する

メソッド 説明 タグ
BeginForm フォームを生成 <form>
BeginRouteForm ルート定義からフォームを生成 <form>

引数

引数省略時、ポスト先は現在のアクションになる。 引数でポスト先、HTTPメソッド(GET, POST等)、その他属性(enctype,idなど)を指定することが出来る。

使い分け

ルート関連のパラメータがオブジェクトとして用意されている、ルートを明示的に宣言したい場合は BeginForm ではなく BeginRouteForm を使う。

モデルに関連づいた<input><textarea>要素を生成する

メソッド 説明 タグ
LabelFor ラベルを生成 <input>
TextBoxFor テキストボックスを生成 <input type="text">
PasswordFor パスワード入力ボックスを生成 <input type="password">
HiddenFor 隠しフィールドを生成 <input type="hidden">
RadioButtonFor ラジオボタンを生成 <input type="radio">
CheckBoxFor チェックボックスを生成 <input type="checbox">
TextAreaFor テキストエリア(複数行テキストボックス)を生成 <textarea>

第一引数のexpression

「m => m.プロパティ」のようなラムダ式を指定する。

モデルと関連づかない<input><textarea>要素を生成する

XxxxForと違い、モデルに関連づかない。 LabelTextBoxなど。

<select> 要素を生成するビューヘルパー

メソッド 説明 タグ
DropDownListFor 選択ボックスを生成(単一選択) <select>
ListBoxFor リストボックスを生成(複数選択) <select multiple="multiple">
EnumDropDownFor Enum型をもとに選択ボックスを生成 <select>

モヤっとメモ

  • BeginFormBeginRouteForm の使い分けが理解できてない
  • XxxxForより、EditForで型に応じて適切に要素を出力するほうがいいらしい?