giải pháp gì là tốt hơn và tại sao?
Tùy theo.
Ưu điểm và nhược điểm là gì?
- Ưu điểm của phần mở rộng tùy chỉnh HtmlHelper:
- Nó sẽ làm việc không có vấn đề gì công cụ xem bạn đang sử dụng
- Nó được đơn vị kiểm chứng
- Nó là xách tay giữa các ứng dụng
- Nhược điểm của tiện ích HtmlHelper tùy chỉnh:
- thể trở nên cồng kềnh để viết rất nhiều của logic HTML trong C#
- Ưu điểm của
@helper
:
- đã không thấy bất kỳ, tôi không bao giờ sử dụng nó
- Nhược điểm của
@helper
:
- Chưa từng thấy, tôi không bao giờ sử dụng nó
Thực ra điều này là @helper
là IMHO hoàn toàn vô dụng. Khi bạn muốn những lợi thế tôi đã đề cập về một phần mở rộng HtmlHelper tùy chỉnh, bạn, tốt, xây dựng một phần mở rộng HtmlHelper tùy chỉnh.
Và nếu bạn phải đối mặt với một số nhược điểm tôi đã đề cập về phần mở rộng HtmlHelper tùy chỉnh, bạn, tốt, hãy sử dụng một phần xem.
Tôi chỉ đọc điều đó trong MVC 3 khi @helper được tạo ra trên toàn cầu trong một tệp riêng biệt .cshtml không thể sử dụng trình trợ giúp html tích hợp khác.
Điều đó sai. Bạn hoàn toàn có thể sử dụng các trình trợ giúp Html khác. Bạn chỉ cần phải vượt qua chúng như thông số:
@helper FooBar(HtmlHelper html) {
feel free to use the html helper here
}
và khi tiêu thụ từ một cái nhìn:
@HelperName.FooBar(Html)
Nguồn
2013-07-23 12:49:39
có thể trùng lặp của [ASP.NET MVC: Razor @helper vs các phương thức mở rộng cho HtmlHelper - được ưu tiên?] (Http://stackoverflow.com/questions/6285825/asp-net-mvc-razor-helper-vs -extension-methods-to-htmlhelper-which-is-preferr) – James