Html.Textbox VS Html.TextboxFor


Câu trả lời:


117

Cuối cùng thì cả hai đều tạo ra cùng một HTML nhưng Html.TextBoxFor () được gõ mạnh khi không phải là Html.TextBox .

1:  @Html.TextBox("Name")
2:  Html.TextBoxFor(m => m.Name)

cả hai sẽ sản xuất

<input id="Name" name="Name" type="text" />

Vậy điều đó có nghĩa là gì về mặt sử dụng?

Nói chung là hai điều:

  1. Việc nhập TextBoxForsẽ tạo tên đầu vào cho bạn. Đây thường chỉ là tên thuộc tính nhưng đối với các thuộc tính thuộc loại phức tạp có thể bao gồm dấu gạch dưới, chẳng hạn như 'customer_name'
  2. Sử dụng TextBoxForphiên bản đã nhập sẽ cho phép bạn sử dụng kiểm tra thời gian biên dịch. Vì vậy, nếu bạn thay đổi mô hình của mình thì bạn có thể kiểm tra xem có bất kỳ lỗi nào trong chế độ xem của mình hay không.

Thường được coi là phương pháp hay hơn để sử dụng các phiên bản được đánh máy mạnh của HtmlHelpers đã được thêm vào trong MVC2 .



7

IMO sự khác biệt chính là Textbox không được gõ mạnh. Textbox: Lấy lambda làm tham số cho người trợ giúp biết phần tử with của mô hình để sử dụng trong dạng xem đã nhập.

Bạn có thể làm những điều tương tự với cả hai, nhưng bạn nên sử dụng dạng xem đã nhập và TextboxFor khi có thể.


3

Html.TextBox amd Html.DropDownList không được gõ mạnh và do đó chúng không yêu cầu chế độ xem được gõ mạnh. Điều này có nghĩa là chúng ta có thể mã hóa bất kỳ tên nào chúng ta muốn. Mặt khác, Html.TextBoxFor và Html.DropDownListFor được gõ mạnh và yêu cầu chế độ xem được gõ mạnh và tên được suy ra từ biểu thức lambda.

Trình trợ giúp HTML được đánh máy mạnh cũng cung cấp kiểm tra thời gian biên dịch.

Vì trong thời gian thực, chúng tôi chủ yếu sử dụng các chế độ xem được đánh máy mạnh, thích sử dụng Html.TextBoxFor và Html.DropDownListFor hơn các đối tác của chúng.

Cho dù chúng ta sử dụng Html.TextBox & Html.DropDownList HOẶC Html.TextBoxFor & Html.DropDownListFor thì kết quả cuối cùng là giống nhau, đó là chúng tạo ra cùng một HTML.

Trình trợ giúp HTML được đánh máy mạnh được thêm vào trong MVC2.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.