ASP.NET MVC - Bộ trợ giúp HTML

Bộ trợ giúp HTML được sử dụng để sửa đổi đầu ra HTML.

Bộ trợ giúp HTML

Thông qua MVC, bộ trợ giúp HTML tương tự như các điều khiển Web Form truyền thống trong ASP.NET.

Giống như các điều khiển web form trong ASP.NET, bộ trợ giúp HTML được sử dụng để sửa đổi HTML. Nhưng bộ trợ giúp HTML nhẹ hơn. Khác với các điều khiển web form, bộ trợ giúp HTML không có mô hình sự kiện và view state.

Trong hầu hết các trường hợp, bộ trợ giúp HTML chỉ là phương thức trả về chuỗi.

Thông qua MVC, bạn có thể tạo ra các bộ trợ giúp của riêng mình hoặc sử dụng các bộ trợ giúp HTML tích hợp sẵn.

Bộ trợ giúp HTML tiêu chuẩn

MVC bao gồm các bộ trợ giúp tiêu chuẩn cho nhiều loại yếu tố HTML phổ biến, chẳng hạn như liên kết HTML và các yếu tố biểu mẫu HTML.

Liên kết HTML

Cách đơn giản nhất để hiển thị liên kết HTML là sử dụng bộ trợ giúp HTML.ActionLink().

Thông qua MVC, Html.ActionLink() không kết nối đến视图. Nó tạo ra liên kết đến hành động (controller action).

Ngữ pháp Razor:

@Html.ActionLink("Giới thiệu về trang web này", "About")

Ngữ pháp ASP:

<%=Html.ActionLink("Giới thiệu về trang web này", "About")%>

Tham số đầu tiên là văn bản liên kết, tham số thứ hai là tên hành động điều khiển.

Hàm trợ giúp Html.ActionLink() ở trên, xuất ra HTML sau:

<a href="/Home/About">Giới thiệu về trang web này</a>

Các tham số của hàm trợ giúp Html.ActionLink():

Tham số Mô tả
linkText Văn bản nội bộ của yếu tố điểm dừng.
actionName Tên hành động.
controllerName Tên điều khiển.
protocol Thỏa thuận URL, chẳng hạn như "http" hoặc "https".
hostname Tên máy chủ của URL.
fragment Tên đoạn URL (tên điểm dừng).
routeValues Một đối tượng chứa các tham số路由.
htmlAttributes Một đối tượng chứa các thuộc tính HTML cần thiết để thiết lập cho yếu tố này.

Ghi chú:Bạn có thể truyền giá trị vào hành động của điều khiển. Ví dụ, bạn có thể truyền id của bản ghi cơ sở dữ liệu cho hành động chỉnh sửa cơ sở dữ liệu.

Ngữ pháp Razor C#:

@Html.ActionLink("Sửa bản ghi", "Edit", new {Id=3})

Ngữ pháp Razor VB:

@Html.ActionLink("Sửa bản ghi", "Edit", New With{.Id=3})

Hàm trợ giúp Html.ActionLink() ở trên, xuất ra HTML sau:

<a href="/Home/Edit/3">Sửa bản ghi</a>

Các yếu tố biểu mẫu HTML

Dưới đây là các hàm trợ giúp HTML có thể được sử dụng để hiển thị (sửa đổi và xuất) các yếu tố biểu mẫu HTML:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

Ngữ pháp ASP.NET C#:

<%= Html.ValidationSummary("Tạo không thành công. Vui lòng sửa lỗi và 
thử lại.") %>
<% using (Html.BeginForm()){%>
<p>
<label for="FirstName">Tên đầu tiên:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Họ và tên:</label>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Mật khẩu:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Xác nhận mật khẩu:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Hồ sơ:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Nhận tin tức hằng ngày?</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
<%}%>