Theo Brad Wilson, RenderAction là chậm hơn so với RenderPartial.RenderAction và RenderPartial hiệu suất
Tuy nhiên, có ai có bất kỳ thống kê nào cho thấy sự khác biệt về hiệu suất không?
Tôi đang trong quá trình phát triển một ứng dụng trong đó các trang bao gồm "Tiện ích con".
Tôi có hai lựa chọn:
sáng tác tại Xem Cấp
Gọi RenderAction cho mỗi widget. Đây là cách tiếp cận dễ dàng nhất nhưng có nghĩa là chúng tôi đang thực hiện một chu kỳ MVC đầy đủ cho từng tiện ích.
sáng tác tại Controller Cấp
Soạn một ViewModel cho trang có chứa dữ liệu chúng ta cần cho mỗi widget. Gọi RenderPartial cho từng widget. Điều này phức tạp hơn nhiều để thực hiện nhưng có nghĩa là chúng tôi sẽ chỉ thực hiện một chu kỳ MVC.
Tôi đã thử nghiệm các phương pháp trên với 3 tiện ích con khác nhau trên trang và sự khác biệt về thời gian hiển thị là 10 giây trong một giây (hầu như không đáng lo ngại).
Tuy nhiên, có ai có kết quả thử nghiệm cụ thể hơn điều này hay có thể là trải nghiệm khi thử cả hai cách tiếp cận?
+1 cho đề xuất DisplayFor(). Tôi hiện đang ủy thác trách nhiệm hiển thị cho tiện ích con vì vậy tôi chỉ cần gọi '@ widget.Render (Html)' và tiện ích con có thể sử dụng 'HtmlHelper' để hiển thị chính nó. Điều đó nói rằng, tôi có thể làm cho phái đoàn này tùy chọn và chỉ cần gọi 'DisplayFor()' theo mặc định. –