2013-08-04 30 views
38

Ba tính năng khác nhau này tồn tại trong công cụ xem Dao cạo và có thể được sử dụng để đạt được kết quả tương tự. Cuối cùng, cả ba đều chỉ hiển thị các đoạn mã HTML, nhưng cách xác định và sử dụng chúng là khá khác nhau. Tôi biết rằng:Khi nào chúng tôi nên sử dụng Trình trợ giúp Html, Trình trợ giúp của Razor hoặc Chế độ xem một phần?

Trình trợ giúp Html được tạo dưới dạng phương thức mở rộng cho lớp HtmlHelper. Họ thường xuyên sử dụng lớp TagBuilder để tạo một số HTML và luôn phải trả về một số IHtmlString.

Dao cạo Người giúp đỡ (@helper phương pháp) có thể được xác định cục bộ (trong cùng một tệp dao cạo) hoặc trên toàn cầu (trong thư mục App_Code). Chúng là những đoạn mã HTML nhỏ có thể được tái sử dụng độc quyền trong các tệp Razor.

Và cuối cùng, một phần Chế độ xem chỉ là các tệp xem thông thường có thể được bao gồm trong các tệp chế độ xem khác bằng cách sử dụng trình trợ giúp @Html.Partial.

Câu hỏi của tôi là:

Có một kịch bản cụ thể cho mỗi một trong số các tính năng này? Hoặc nó đi xuống đến hương vị khác nhau để đạt được kết quả tương tự?

Trả lời

57

Người trợ giúp HTML là dành cho các thành phần có thể tái sử dụng. ví dụ. WebGrid, Pager, vv Đây là những phân phối như hội đồng và không có sự phụ thuộc vào Razor. Chọn này nếu:

  • chức năng thực sự là tái sử dụng và áp dụng đối với bất kỳ ứng dụng
  • Bạn không muốn mọi người để sửa đổi nó, muốn lên phiên bản nó

Partials Lần là một cách để chia các khung nhìn lớn thành các phần nhỏ hơn để giữ cho mọi thứ dễ quản lý hơn. Chúng cũng hữu ích cho khả năng sử dụng lại dành riêng cho ứng dụng của bạn. Chúng được đặt bởi công cụ xem, vì vậy bạn có thể có cùng một phần được xác định ở các vị trí khác nhau (ví dụ: Chế độ xem/Chia sẻ), cho phép bạn tùy chỉnh cho mỗi bộ điều khiển, khu vực hoặc chế độ hiển thị. Chọn này nếu:

  • năng là ứng dụng cụ thể
  • Muốn tùy chỉnh cho mỗi bộ điều khiển, khu vực hoặc hiển thị chế độ

Helpers Local là một cách để thực hiện cùng một mẫu nhiều lần, mà không phải lặp lại chính mình. Bạn cũng có thể sử dụng nó để ngắt các khung nhìn thành các phần để tránh làm tổ sâu, nhưng giữ mọi thứ trong cùng một tệp. Chọn này nếu:

  • chức năng là chế độ xem cụ thể

Application Helpers (trong App_Code) là một sự pha trộn giữa những người giúp đỡ địa phương và những người giúp đỡ HTML.Chọn này nếu:

  • thích Razor trên TagBuilder
  • Đừng để ý phân phối tập tin thay vì lắp ráp
  • thích kiểu an cú pháp phương pháp gọi thay vì @Html.Partial(name)
Các vấn đề liên quan