書籍転載:ASP.NET MVC 5 実践プログラミング
Label/TextBox/TextArea/Password/Hidden/ RadioButton/CheckBoxメソッド[Razor]
XxxxxForメソッドとは異なり、「For」なしのメソッドは、モデルから独立したフォーム要素を生成できる。その使い方を解説。書籍転載の10本目(基礎編「4-2-7」)。
書籍転載について
本コーナーは、秀和システム発行の書籍『ASP.NET MVC 5 実践プログラミング』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。
『ASP.NET MVC 5 実践プログラミング』の詳細や購入は秀和システムのサイトや目次ページをご覧ください。
ご注意
本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどはBuild Insiderのそれとは一致しません。あらかじめご了承ください。
4-2-7 モデルと関連付かないフォーム要素を生成する - TextBox/Labelメソッドなど
TextBoxFor/LabelForなどのいわゆるXxxxxForメソッドには、それぞれ「For」なしのTextBox/Labelなどのメソッドが用意されています。一般的には、XxxxxForメソッドはモデルに関連付いたフォーム要素を生成するための、Forなしのメソッドはモデルとは独立したフォーム要素を生成するためのメソッドであると理解しておけば良いでしょう*12。たとえば以下は、nameという名前のテキストボックスを作成する例です。
- *12 厳密には、Forなしのメソッドでもモデルとの連携は可能です。しかし、「インテリセンス機能を利用できない」「ViewBagに同名のプロパティがある場合は、そちらが優先されてしまう」などの理由から、あえて利用すべきではありません。
氏名:
@Html.TextBox(
"name", // 要素名
"ごんざえもん", // デフォルト値
new { @readonly = "readonly", maxlength = 20 } // その他の属性
)
|
<input id="name" maxlength="20" name="name" readonly="readonly" type="text" value=" ごんざえもん " />
|
Forなしメソッドの構文は、第1、2引数に「要素名」デフォルト値」「を指定する他は、XxxxxForメソッドとほとんど同じです。詳しくは、4-2-3項も合わせて参照してください。
【構文】Forなしのフォーム関連ヘルパー
MvcHtmlString TextBox(String name [,Object value [,String format] ,Object htmlAttributes]])
MvcHtmlString Password(string name [,Object value [,Object htmlAttributes]])
MvcHtmlString CheckBox(string name [,bool isChecked] [,Object htmlAttributes])
MvcHtmlString RadioButton(string name, Object value [,bool isChecked] [,Object htmlAttributes])
MvcHtmlString Hidden(string name [,Object value [,Object htmlAttributes]])
MvcHtmlString TextArea(string name [,string value] [,int rows, int columns] [,Object htmlAttributes])
- name: 要素名
- value: デフォルト値
- format: 入力書式
- htmlAttributes: その他の属性
- isChecked: 選択状態にするか
- rows: 行数
- columns: 列数
メソッド | 概要 |
---|---|
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回分(第8回~第12回)のみ表示しています。
連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。
8. ASP.NET MVC 5.1: 列挙型から選択ボックスを生成する - EnumDropDownListメソッド[Razor]
ASP.NET MVC 5.1以降。列挙型の情報をもとに選択ボックスを生成するEnumDropDownListメソッドの使い方を解説。書籍転載の8本目(基礎編「4-2-5」)。
9. ASP.NET MVC 5.2: 選択ボックスの選択肢をグループ化する - SelectListクラス[Razor]
ASP.NET MVC 5.2以降。Razorで、選択肢をグルーピングした選択ボックスを生成するにはSelectListクラスを使用する。その使い方を解説。書籍転載の9本目(基礎編「4-2-6」)。
10. 【現在、表示中】≫ Label/TextBox/TextArea/Password/Hidden/ RadioButton/CheckBoxメソッド[Razor]
XxxxxForメソッドとは異なり、「For」なしのメソッドは、モデルから独立したフォーム要素を生成できる。その使い方を解説。書籍転載の10本目(基礎編「4-2-7」)。
11. リンク/エンコード関連のビューヘルパー|ハイパーリンクを生成する - ActionLinkメソッド[Razor]
リンク/エンコード関連のビューヘルパー紹介の1つ目として、アンカータグを生成するためのメソッドの基本的な使い方を解説する。書籍転載の11本目(基礎編「4-3-1」)。
12. ルート定義からハイパーリンクを生成する - RouteLinkメソッド[Razor]
リンク先のルートパラメーターを指定したアンカータグを生成できるRouteLinkメソッドの使い方を解説。書籍転載の12本目(基礎編「4-3-2」)。