Sự khác biệt giữa Html.Textbox và Html.TextboxFor là gì?
Sự khác biệt giữa Html.Textbox và Html.TextboxFor là gì?
Câu trả lời:
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:
TextBoxFor
sẽ 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'TextBoxFor
phiê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 .
Đây TextBoxFor
là phần mở rộng đầu vào MVC mới hơn được giới thiệu trong MVC2.
Lợi ích chính của các tiện ích mở rộng được gõ mạnh mới hơn là hiển thị bất kỳ lỗi / cảnh báo nào tại thời điểm biên dịch thay vì thời gian chạy.
Xem trang này.
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
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.