カミソリのチュートリアルlogin
カミソリのチュートリアル
著者:php.cn  更新時間:2022-04-11 14:21:21

MVC HTML ヘルパー


ASP.NET MVC - HTML ヘルパー


HTML ヘルパーは、HTML 出力を変更するために使用されます。


HTML ヘルパー

MVC では、HTML ヘルパーは従来の ASP.NET Web フォーム コントロールに似ています。

ASP.NET の Web フォーム コントロールと同様に、HTML ヘルパーは HTML を変更するために使用されます。ただし、HTML ヘルパーはより軽量です。 Web フォーム コントロールとは異なり、HTML ヘルパーにはイベント モデルやビュー ステートがありません。

ほとんどの場合、HTML ヘルパーは文字列を返す単なるメソッドです。

MVC を使用すると、独自のヘルパーを作成したり、組み込みの HTML ヘルパーを直接使用したりできます。


標準 HTML ヘルパー

MVC には、HTML リンクや HTML フォーム要素など、最も一般的に使用される HTML 要素タイプの標準ヘルパーが含まれています。


HTML リンク

HTML リンクをレンダリングする最も簡単な方法は、HTML.ActionLink() ヘルパーを使用することです。

MVCでは、Html.ActionLink()はビューに接続されません。コントローラーアクションへの接続を作成します。

Razor 構文:

@Html.ActionLink("この Web サイトについて", "About")

ASP 構文:

<%=Html.ActionLink("この Web サイトについて", "About") %>

最初のパラメータはリンク テキスト、2 番目のパラメータはコントローラ アクションの名前です。

上記の Html.ActionLink() ヘルパーは、次の HTML を出力します:

<a href="/Home/About">この Web サイトについて</a>

Html.ActionLink() Helper いくつかの属性の:

AttributesDescription
.linkTextURL テキスト (ラベル)、アンカー要素の内部テキスト。
.actionNameアクションの名前。
.routeValuesアクションに渡される値は、ルートパラメータを含むオブジェクトです。
.controllerNameコントローラーの名前。
.htmlAttributesURL の属性設定は、この要素に設定される HTML 属性を含むオブジェクトです。
.protocol「http」や「https」などの URL プロトコル。
.hostname URL のホスト名。
.fragmentURLフラグメント名(アンカー名)。

注: コントローラーのアクションに値を渡すことができます。たとえば、データベース レコードの ID をデータベース編集アクションに渡すことができます:

Razor 構文 C#:

@Html.ActionLink("Edit Record", "Edit", new {Id=3})

Razor 構文 VB :

@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})

上記の Html.ActionLink() ヘルパーは、次の HTML を出力します。

< a href="/Home/Edit/3">レコードの編集</a>
HTML フォーム要素

次の HTML ヘルパーを使用して HTML フォーム要素をレンダリング (変更および出力) できます。

BeginForm()

    EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • パスワード()
  • 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="パスワード">パスワード:</label>
<%= Html.Password("パスワード") %>
<%= Html.ValidationMessage("パスワード", "*") %>
</p>
<p>
<label for="パスワード">パスワードの確認:</label>
<%= Html.Password("パスワードの確認") %>
<%= Html.ValidationMessage("confirmPassword", "*") %>
</p>
<p>
<label for="プロファイル">プロファイル:</label>
<%= Html.TextArea("プロファイル", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ニュースレターを受信" style="display:inline">受信 ニュースレター?</label>
</p>
<p>
<input type="submit" value="登録" />
</p>
<%}%>