最新のWeb開発のチュートリアル
 

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() HTML. ActionLink()ヘルパー。

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

Razor構文:

@Html. ActionLink("About this Website", "About")

ASP構文:

<%=Html. ActionLink("About this Website", "About") %>

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

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

<a href="/Home/About">About this Website</a>

Html. ActionLink() Html. ActionLink()ヘルパーは、いくつかのプロパティがあります。

プロパティ 説明
.linkText リンクテキスト(label)
.actionName ターゲット・アクション
.routeValues アクションに渡された値
.controllerName ターゲットコントローラ
.htmlAttributes リンクへの属性のセット
.protocol リンクプロトコル
.hostname リンクのホスト名
.fragment リンクのアンカーターゲット

注意:あなたは、コントローラのアクションに値を渡すことができます。 たとえば、データベースの編集アクションにデータベースレコードの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. ActionLink()上記のヘルパーは、次のHTMLを出力します。

<a href="/Home/Edit/3">Edit Record</a>

HTMLフォーム要素

そこ次のHTMLヘルパーをレンダリングするために使用することができます(modify and output) HTMLのフォーム要素:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

ASP.NET構文C#の:

<%= Html. ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<% using (Html. BeginForm() ){%>
<p>
<label for="FirstName">First Name:</label>
<%= Html. TextBox("FirstName") %>
<%= Html. ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Last Name:</label>
<%= Html. TextBox("LastName") %>
<%= Html. ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Password:</label>
<%= Html. Password("Password") %>
<%= Html. ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Confirm Password:</label>
<%= Html. Password("ConfirmPassword") %>
<%= Html. ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profile:</label>
<%= Html. TextArea("Profile", new {cols=60, rows=10}) %>
</p>
<p>
<%= Html. CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Receive Newsletter?</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
<%}%>