Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
書籍転載:ASP.NET MVC 5 実践プログラミング

書籍転載:ASP.NET MVC 5 実践プログラミング

ルート定義からフォームを生成する - BeginRouteFormメソッド[Razor]

2014年10月6日

ポスト先のルートパラメーターを指定した<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メソッドで書き換えたコードです。

Razor
@using(Html.BeginRouteForm(
  "Default",       // ルート名
  new { controller = "Result", Action = "Edit" ,
        id = "H15A1", charset = "utf8" },         // ルートパラメーター
  FormMethod.Post,                                // HTTP メソッド
  new { id="fm", enctype="multipart/form-data" }  // その他の属性
)) {
  ... フォームの内容 ...
}
リスト4-2 Views/View/Index.cshtml

 使用するルートを明示的に宣言したい、ルート関連のパラメーターが既にオブジェクトとして用意されているような局面では、BeginRouteFormメソッドを利用すると良いでしょう。

メソッド概要
BeginForm フォームを生成(<form>タグ)
BeginRouteForm フォームを生成(<form>タグ。ルートパラメーターで指定可能)
EndForm フォームを終了(</form>閉じタグ)
LabelForLabel ラベルを生成
TextBoxForTextBox テキストボックスを生成
TextAreaForTextArea テキストエリア(複数行テキストボックス)を生成
PasswordForPassword パスワード入力ボックスを生成
HiddenForHidden 隠しフィールドを生成
RadioButtonForRadioButton ラジオボタンを生成
CheckBoxForCheckBox チェックボックスを生成
DropDownListForDropDownList 選択ボックスを生成
EnumDropDownListFor Enum型をもとに選択ボックスを生成
ListBoxForListBox リストボックスを生成
表4-1 フォーム関連のビューヘルパー(再掲)

※以下では、本稿の前後を合わせて5回分(第3回~第7回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

書籍転載:ASP.NET MVC 5 実践プログラミング
3. Razor構文

ASP.NET MVCのビュー開発では「Razor」ビューエンジンを利用するのが基本。そのRazorの基本的な文法を解説。書籍転載の3本目(導入編「4-1」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
4. フォームを生成する - BeginFormメソッド[Razor]

<form>要素を生成するには、標準のビューヘルパーとして提供されているBeginFormメソッドが便利だ。その使い方を解説。書籍転載の4本目(基礎編「4-2-1」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
5. 【現在、表示中】≫ ルート定義からフォームを生成する - BeginRouteFormメソッド[Razor]

ポスト先のルートパラメーターを指定した<form>要素を生成できるBeginRouteFormメソッドの使い方を解説。書籍転載の5本目(基礎編「4-2-2」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
6. TextBoxFor/TextAreaFor/PasswordFor/ HiddenFor/RadioButtonFor/CheckBoxForメソッド[Razor]

モデル内の各プロパティのデータ型や値などの情報に基づいて、テキストボックス、ラジオボタンなどの要素を生成できるXxxxxForメソッドの使い方を解説。書籍転載の6本目(基礎編「4-2-3」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
7. 選択ボックス/リストボックスを生成する - DropDownListFor/ListBoxForメソッド[Razor]

DropDownListFor/ListBoxForメソッドを使って、単一選択式の選択ボックスや複数選択式のリストボックスを生成する方法を解説。書籍転載の7本目(基礎編「4-2-4」)。

サイトからのお知らせ

Twitterでつぶやこう!