書籍転載:ASP.NET MVC 5 実践プログラミング
ルート定義からフォームを生成する - BeginRouteFormメソッド[Razor]
ポスト先のルートパラメーターを指定した<form>要素を生成できるBeginRouteFormメソッドの使い方を解説。書籍転載の5本目(基礎編「4-2-2」)。
書籍転載について
本コーナーは、秀和システム発行の書籍『ASP.NET MVC 5 実践プログラミング』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。
『ASP.NET MVC 5 実践プログラミング』の詳細や購入は秀和システムのサイトや目次ページをご覧ください。
ご注意
本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどはBuild Insiderのそれとは一致しません。あらかじめご了承ください。
4-2-2 ルート定義からフォームを生成する - BeginRouteFormメソッド
BeginFormメソッドと同じく、<form>要素を生成します。ただし、ポスト先を(文字列ではなく)ルートパラメーターを表す匿名型として指定できる点が異なります。
【構文】BeginRouteFormメソッド
(1)MvcForm BeginRouteForm([Object routeValues])
(2)MvcForm BeginRouteForm(String routeName [,Object routeValues] [,FormMethod method [,Object htmlAttributes]])
- routeName: ルート名
- routeValues: ルートパラメーター
- method: HTTPメソッド(GET/POST)
- htmlAttributes: HTML属性
たとえば以下は、先ほどのリスト4-1をBeginRouteFormメソッドで書き換えたコードです。
@using(Html.BeginRouteForm(
"Default", // ルート名
new { controller = "Result", Action = "Edit" ,
id = "H15A1", charset = "utf8" }, // ルートパラメーター
FormMethod.Post, // HTTP メソッド
new { id="fm", enctype="multipart/form-data" } // その他の属性
)) {
... フォームの内容 ...
}
|
使用するルートを明示的に宣言したい、ルート関連のパラメーターが既にオブジェクトとして用意されているような局面では、BeginRouteFormメソッドを利用すると良いでしょう。
メソッド | 概要 |
---|---|
BeginForm | フォームを生成(<form>タグ) |
BeginRouteForm | フォームを生成(<form>タグ。ルートパラメーターで指定可能) |
EndForm | フォームを終了(</form>閉じタグ) |
LabelFor/Label | ラベルを生成 |
TextBoxFor/TextBox | テキストボックスを生成 |
TextAreaFor/TextArea | テキストエリア(複数行テキストボックス)を生成 |
PasswordFor/Password | パスワード入力ボックスを生成 |
HiddenFor/Hidden | 隠しフィールドを生成 |
RadioButtonFor/RadioButton | ラジオボタンを生成 |
CheckBoxFor/CheckBox | チェックボックスを生成 |
DropDownListFor/DropDownList | 選択ボックスを生成 |
EnumDropDownListFor | Enum型をもとに選択ボックスを生成 |
ListBoxFor/ListBox | リストボックスを生成 |
※以下では、本稿の前後を合わせて5回分(第3回~第7回)のみ表示しています。
連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。
4. フォームを生成する - BeginFormメソッド[Razor]
<form>要素を生成するには、標準のビューヘルパーとして提供されているBeginFormメソッドが便利だ。その使い方を解説。書籍転載の4本目(基礎編「4-2-1」)。
5. 【現在、表示中】≫ ルート定義からフォームを生成する - BeginRouteFormメソッド[Razor]
ポスト先のルートパラメーターを指定した<form>要素を生成できるBeginRouteFormメソッドの使い方を解説。書籍転載の5本目(基礎編「4-2-2」)。
6. TextBoxFor/TextAreaFor/PasswordFor/ HiddenFor/RadioButtonFor/CheckBoxForメソッド[Razor]
モデル内の各プロパティのデータ型や値などの情報に基づいて、テキストボックス、ラジオボタンなどの要素を生成できるXxxxxForメソッドの使い方を解説。書籍転載の6本目(基礎編「4-2-3」)。
7. 選択ボックス/リストボックスを生成する - DropDownListFor/ListBoxForメソッド[Razor]
DropDownListFor/ListBoxForメソッドを使って、単一選択式の選択ボックスや複数選択式のリストボックスを生成する方法を解説。書籍転載の7本目(基礎編「4-2-4」)。