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

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

Label/TextBox/TextArea/Password/Hidden/ RadioButton/CheckBoxメソッド[Razor]

2014年10月14日

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に同名のプロパティがある場合は、そちらが優先されてしまう」などの理由から、あえて利用すべきではありません。
Razor
氏名:
@Html.TextBox(
  "name",          // 要素名
  "ごんざえもん",  // デフォルト値
  new { @readonly = "readonly", maxlength = 20 }  // その他の属性
)
リスト4-13 Views/View/FormNotFor.cshtml
HTML
<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>閉じタグ)
LabelForLabel ラベルを生成
TextBoxForTextBox テキストボックスを生成
TextAreaForTextArea テキストエリア(複数行テキストボックス)を生成
PasswordForPassword パスワード入力ボックスを生成
HiddenForHidden 隠しフィールドを生成
RadioButtonForRadioButton ラジオボタンを生成
CheckBoxForCheckBox チェックボックスを生成
DropDownListForDropDownList 選択ボックスを生成
EnumDropDownListFor Enum型をもとに選択ボックスを生成
ListBoxForListBox リストボックスを生成
表4-1 フォーム関連のビューヘルパー(再掲)

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

書籍転載:ASP.NET MVC 5 実践プログラミング
8. ASP.NET MVC 5.1: 列挙型から選択ボックスを生成する - EnumDropDownListメソッド[Razor]

ASP.NET MVC 5.1以降。列挙型の情報をもとに選択ボックスを生成するEnumDropDownListメソッドの使い方を解説。書籍転載の8本目(基礎編「4-2-5」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
9. ASP.NET MVC 5.2: 選択ボックスの選択肢をグループ化する - SelectListクラス[Razor]

ASP.NET MVC 5.2以降。Razorで、選択肢をグルーピングした選択ボックスを生成するにはSelectListクラスを使用する。その使い方を解説。書籍転載の9本目(基礎編「4-2-6」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
10. 【現在、表示中】≫ Label/TextBox/TextArea/Password/Hidden/ RadioButton/CheckBoxメソッド[Razor]

XxxxxForメソッドとは異なり、「For」なしのメソッドは、モデルから独立したフォーム要素を生成できる。その使い方を解説。書籍転載の10本目(基礎編「4-2-7」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
11. リンク/エンコード関連のビューヘルパー|ハイパーリンクを生成する - ActionLinkメソッド[Razor]

リンク/エンコード関連のビューヘルパー紹介の1つ目として、アンカータグを生成するためのメソッドの基本的な使い方を解説する。書籍転載の11本目(基礎編「4-3-1」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
12. ルート定義からハイパーリンクを生成する - RouteLinkメソッド[Razor]

リンク先のルートパラメーターを指定したアンカータグを生成できるRouteLinkメソッドの使い方を解説。書籍転載の12本目(基礎編「4-3-2」)。

サイトからのお知らせ

Twitterでつぶやこう!