フォーム関連のビューヘルパー
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と違い、モデルに関連づかない。
Label
、TextBox
など。
<select>
要素を生成するビューヘルパー
メソッド | 説明 | タグ |
---|---|---|
DropDownListFor | 選択ボックスを生成(単一選択) | <select> |
ListBoxFor | リストボックスを生成(複数選択) | <select multiple="multiple"> |
EnumDropDownFor | Enum型をもとに選択ボックスを生成 | <select> |
モヤっとメモ
BeginForm
とBeginRouteForm
の使い分けが理解できてない- XxxxForより、EditForで型に応じて適切に要素を出力するほうがいいらしい?