ASP.NET MVC - HTMLヘルパー
- 前のページ MVC セキュリティ
- 次のページ MVC リリース
HTMLヘルパーはHTML出力を変更するために使用されます。
HTMLヘルパー
MVCを通じて、HTMLヘルパーは伝統的なASP.NET Web Formコントロールに似ています。
ASP.NETのweb formコントロールと同様に、HTMLヘルパーはHTMLを変更するために使用されますが、HTMLヘルパーは軽量です。web formコントロールとは異なり、HTMLヘルパーにはイベントモデルやview stateがありません。
多くの場合、HTMLヘルパーは単に文字列を返すメソッドです。
MVCを通じて、独自のヘルパーを作成したり、内蔵のHTMLヘルパーを使用することができます。
標準のHTMLヘルパー
MVCは、HTMLリンクやHTMLフォーム要素などの一般的なHTML要素の標準ヘルパーを含んでいます。
HTMLリンク
HTMLリンクを表示する最も簡単な方法は、Html.ActionLink()ヘルパーを使用することです。
MVCを通じて、Html.ActionLink()はビューに接続しません。コントローラーアクション(controller action)のリンクを作成します。
Razor 语法:
@Html.ActionLink("About this Website", "About")
ASP 语法:
<%=Html.ActionLink("About this Website", "About")%>
第一个参数是链接文本,第二个参数是控制器操作的名称。
上面的 Html.ActionLink() 帮助器,输出以下 HTML:
<a href="/Home/About">About this Website</a>
Html.ActionLink() 帮助器的若干参数:
参数 | 描述 |
---|---|
linkText | 定位点元素的内部文本。 |
actionName | 操作的名称。 |
controllerName | 控制器的名称。 |
protocol | URL 协议,如“http”或“https”。 |
hostname | URL 的主机名。 |
fragment | URL 片段名称(定位点名称)。 |
routeValues | 一个包含路由参数的对象。 |
htmlAttributes | 一个对象,包含要为该元素设置的 HTML 特性。 |
注释:您可以向控制器操作传递值。例如,您能够像数据库编辑操作传递数据库记录的 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">Edit Record</a>
HTML 表单元素
以下 HTML 帮助器可用于呈现(修改和输出)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">姓:</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("Profile", new {cols=60, rows=10})%> </p> <p> <%= Html.CheckBox("ReceiveNewsletter") %> <label for="ReceiveNewsletter" style="display:inline">ニュースレターを受け取りますか?</label> </p> <p> <input type="submit" value="Register" /> </p> <%}%>
- 前のページ MVC セキュリティ
- 次のページ MVC リリース