Tôi thích sử dụng phương thức mở rộng RenderAction
trên đối tượng HtmlHelper
để hiển thị thanh bên và tương tự trong các trang vì nó cho phép tôi giữ mã truy cập dữ liệu cho từng phần như vậy trong các phương pháp riêng biệt trên bộ điều khiển. Sử dụng một cơ sở điều khiển trừu tượng, tôi có thể xác định một mặc định "Chiến lược sidebar", sau đó có thể được tinh chế bằng cách ghi đè phương pháp này trong một bộ điều khiển bê tông, khi cần thiết.Giống như Html.RenderAction() nhưng không cần phục hồi đối tượng điều khiển
Chỉ có "vấn đề" tôi có với phương pháp này, là RenderAction
được xây dựng theo cách nó luôn tạo một thể hiện tin tức của lớp bộ điều khiển, ngay cả khi hiển thị các hành động từ bộ điều khiển đã hoạt động. Một số bộ điều khiển của tôi hiện một số tra cứu dữ liệu trong phương pháp Initialize
của họ, và sử dụng phương pháp RenderAction
trong giao diện gây ra điều này xảy ra nhiều lần trong cùng một yêu cầu.
Có một số thay thế cho RenderAction
sẽ sử dụng lại đối tượng bộ điều khiển nếu phương thức hành động được gọi là trên cùng một lớp bộ điều khiển với tư cách là "cha mẹ" không?
Tại sao điều này là một vấn đề đối với bạn? Bạn không làm tối ưu hóa sớm? – queen3
@ queen3: Có thể, nhưng đó không phải là câu hỏi :) –