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>
<%}%>