Razor 教學課程login
Razor 教學課程
作者:php.cn  更新時間:2022-04-11 14:21:21

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() 幫助器的一些屬性:

##描述.linkTextURL 文字(標籤),定位點元素的內部文字。 .actionName操作(action)的名稱。 .routeValues傳遞給運算(action)的值,是包含路由參數的物件。 .controllerName控制器的名稱。 .htmlAttributesURL 的屬性設置,是一個包含要為該元素設定的 HTML 特性的物件。 .protocolURL 協議,如 "http" 或 "https"。 .hostnameURL 的主機名稱。 .fragmentURL 片段名稱(定位點名稱)。

註解:您可以向控制器操作傳遞值。例如,您可以向資料庫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.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>
<%}%>


#############################################################################
屬性