ASP.NET MVC フレームワークには、ビュー内で HTML を簡単にレンダリングできるヘルパー メソッドが含まれています。
HTML ヘルパーは、HTML 出力を変更するために使用されます。
MVC では、HTML ヘルパーは従来の ASP.NET Web フォーム コントロールに似ています。
ASP.NET の Web フォーム コントロールと同様、HTML ヘルパーは HTML を変更するために使用されます。ただし、HTML ヘルパーはより軽量です。 Web フォーム コントロールとは異なり、HTML ヘルパーにはイベント モデルやビュー ステートがありません。
ほとんどの場合、HTML ヘルパーは文字列を返す単なるメソッドです。
MVC を使用すると、独自のヘルパーを作成したり、組み込みの HTML ヘルパーを直接使用したりできます。
MVC には、HTML リンクや HTML フォーム要素など、最も一般的に使用される HTML 要素タイプの標準ヘルパーが含まれています。
HTML リンクをレンダリングする最も簡単な方法は、HTML.ActionLink() ヘルパーを使用することです。
MVC では、Html.ActionLink() はビューに接続しません。コントローラーアクションへの接続を作成します。
Razor 構文:
@Html.ActionLink("このウェブサイトについて", "概要")
ASP 構文:
<%=Html.ActionLink("この Web サイトについて", "概要")%>
最初のパラメータはリンク テキスト、2 番目のパラメータはコントローラ アクションの名前です。
上記の Html.ActionLink() ヘルパーは、次の HTML を出力します。
<a href="/Home/About">このウェブサイトについて</a>
Html.ActionLink() ヘルパーのいくつかのプロパティ:
財産 | 説明する |
---|---|
.linkText | URL テキスト (タグ)、アンカー要素の内部テキスト。 |
.アクション名 | アクションの名前。 |
.routeValues | アクションに渡される値は、ルート パラメーターを含むオブジェクトです。 |
.controllerName | コントローラーの名前。 |
.html属性 | URL 属性セットは、要素に設定される HTML 属性を含むオブジェクトです。 |
。プロトコル | 「http」や「https」などの URL プロトコル。 |
.ホスト名 | URL のホスト名。 |
。断片 | URL フラグメント名 (アンカー名)。 |
注:コントローラーのアクションに値を渡すことができます。たとえば、データベース レコードの ID をデータベース編集操作に渡すことができます。
Razor 構文 C#:
@Html.ActionLink("レコードの編集", "編集", new {Id=3})
Razor 構文 VB:
@Html.ActionLink("レコードの編集", "編集", New With{.Id=3})
上記の Html.ActionLink() ヘルパーは、次の HTML を出力します。
<a href="/Home/Edit/3">レコードを編集</a>
次の HTML ヘルパーを使用して、HTML フォーム要素をレンダリング (変更および出力) できます。
BeginForm()
エンドフォーム()
テキストエリア()
テキストボックス()
チェックボックス()
ラジオボタン()
リストボックス()
ドロップダウンリスト()
隠れた()
パスワード()
ASP.NET 構文 C#:
<%= Html.Validationsummary("作成に失敗しました。エラーを修正して再試行してください。") %> <% using (Html.BeginForm()){%> <p> <label for="FirstName">名:</label> <%= Html.TextBox("FirstName") %> <%= Html.ValidationMessage("FirstName", "*") %> </p> <p> <label for="LastName">姓:</label> <%= Html.TextBox("LastName") %> <%= Html.ValidationMessage("LastName", "*") %> </ p> <p> <label for="Password">パスワード:</label> <%= Html.Password("Password") %> <%= Html.ValidationMessage("Password", "*") %> </p> <p> <label for="Password">パスワードの確認:</label> <%= Html.Password("confirmPassword") %> < %= Html.ValidationMessage("confirmPassword", "*") %> </p> <p> <label for="Profile">プロファイル:</label> <%= Html.TextArea("プロフィール", new {cols=60, rows=10})%> </p> <p> <%= Html.CheckBox("ReceiveNewsletter") %> <label for="ReceiveNewsletter" style= "display:inline">ニュースレターを受け取りますか?</label> </p> <p> <input type="submit" value="登録" /> </p> <%}%>
上記は ASP.NETMVCHTML ヘルパーの概要です。