ASP.NET - MVC - HtmlHelper - Editor

HtmlHelper - Editor

Chúng ta đã thấy các phương thức HtmlHelper khác nhau được sử dụng để tạo các phần tử html khác nhau trong các phần trước. ASP.NET MVC cũng có một phương thức tạo các phần tử đầu vào html dựa trên kiểu dữ liệu. Phương thức mở rộng Editor () hoặc EditorFor () tạo các phần tử html dựa trên kiểu dữ liệu của thuộc tính đối tượng.

Bảng sau liệt kê phần tử html được tạo cho từng loại dữ liệu theo phương thức Editor () hoặc EditorFor ().

Kiểu dữ liệu thuộc tính Thành phần Html 
string <input type="text" >
int <input type="number" >
decimal, float <input type="text" >
boolean <input type="checkbox" >
Enum <input type="text" >
DateTime <input type="datetime" >

Chúng ta sẽ sử dụng lớp Model sau với phương thức Editor và EditorFor. 

Ví dụ Model Student

public class Student
{
    public int StudentId { get; set; }
    [Display(Name="Name")]
    public string StudentName { get; set; }
    public int Age { get; set; }
    public bool isNewlyEnrolled { get; set; }
    public string Password { get; set; }
    public DateTime DoB { get; set; }
}

Editor()

Phương thức Editor () yêu cầu tham số biểu thức chuỗi để chỉ định tên thuộc tính. Nó tạo ra một phần tử html dựa trên kiểu dữ liệu của thuộc tính được chỉ định.

Cú pháp Editor()

MvcHtmlString Editor(string propertyname)

Xem thêm các phương thức của Editor.

Xem ví dụ sau để hiểu phương thức Editor ().

Ví dụ Editor() trong chế độ Razor

StudentId:      @Html.Editor("StudentId")
Student Name:   @Html.Editor("StudentName")
Age:            @Html.Editor("Age")
Password:       @Html.Editor("Password")
isNewlyEnrolled: @Html.Editor("isNewlyEnrolled")
Gender:         @Html.Editor("Gender")
DoB:            @Html.Editor("DoB")

Kết quả:

Trong ví dụ trên, chúng ta đã chỉ định thuộc tính của model Student dưới dạng chuỗi. Vì vậy, phương thức Editor () đã tạo ra các phần tử đầu vào thích hợp dựa trên kiểu dữ liệu như trong hình trên.


EditorFor

Phương thức EditorFor yêu cầu biểu thức lambda để xác định một thuộc tính của đối tượng.

Xem thêm các phương thức của EditorFor.

Ví dụ EditorFor() trong chế độ Razor 

StudentId:      @Html.EditorFor(m => m.StudentId)
Student Name:   @Html.EditorFor(m => m.StudentName)
Age:            @Html.EditorFor(m => m.Age)
Password:       @Html.EditorFor(m => m.Password)
isNewlyEnrolled: @Html.EditorFor(m => m.isNewlyEnrolled)
Gender:         @Html.EditorFor(m => m.Gender)
DoB:            @Html.EditorFor(m => m.DoB)

Trong ví dụ trên của phương thức EditorFor (), chúng tôi đã chỉ định tên thuộc tính bằng biểu thức lambda. Kết quả sẽ giống như phương thức Editor () như trong hình trên.