top
Loading...
ASP.NET MVC HTML 幫助器

ASP.NET MVC - HTML 幫助器


HTML 幫助器用於修改 HTML 輸出。


HTML 幫助器

通過 MVC,HTML 幫助器類似於傳統的 ASP.NET Web Form 控件。

就像 ASP.NET 中的 Web Form 控件,HTML 幫助器用於修改 HTML。但是 HTML 幫助器是更輕量級的。與 Web Form 控件不同,HTML 幫助器沒有事件模型和視圖狀態。

在大多數情況下,HTML 幫助器僅僅是一個返回字符串的方法。

通過 MVC,您可以創建您自己的幫助器,或者直接使用內建的 HTML 幫助器。


標准的 HTML 幫助器

MVC 包含了大多數常用的 HTML 元素類型的標准幫助器,比如 HTML 鏈接和 HTML 表單元素。


HTML 鏈接

呈現 HTML 鏈接的最簡單的方法是使用 HTML.ActionLink() 幫助器。

通過 MVC,Html.ActionLink() 不連接到視圖。它創建一個連接到控製器操作。

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 URL 文本(標籤),定位點元素的內部文本。
.actionName 操作(action)的名稱。
.routeValues 傳遞給操作(action)的值,是一個包含路由參數的對象。
.controllerName 控製器的名稱。
.htmlAttributes URL 的屬性設置,是一個包含要為該元素設置的 HTML 特性的對象。
.protocol URL 協議,如 "http" 或 "https"。
.hostname URL 的主機名。
.fragment URL 片段名稱(定位點名稱)。

注釋:您可以向控製器操作傳遞值。例如,您可以向數據庫 Edit 操作傳遞數據庫記錄的 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">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>
<%}%>


北斗有巢氏 有巢氏北斗