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") %>
第一個參數是鏈接文本,第二個參數是控制器動作的名稱。
該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>
<%}%>