Trên trang web của tôi, tôi có một phần (một thanh bên nổi) mà tôi muốn hiển thị chỉ cho một tập hợp con người dùng (quản trị viên). Tôi hy vọng rằng tôi có thể đặt logic trong bố cục chính để xác định xem phần đó có nên được hiển thị hay không nhưng điều đó gây ra lỗi trên trang nếu phần đó không được hiển thị.Làm cách nào để tùy chọn hiển thị một phần trong ASP.Net MVC 3?
Ví dụ mã - Layout.cshtml ... Mã
... code ...
@if(user.IsAdmin) {
@RenderSection("AdminSidebar", false)
}
Ví dụ - MyPage.cshtml ...
@section AdminSidebar {
... code ...
}
Có ai biết làm thế nào để có được điều này để làm việc mà không cần phải đặt logic trong tất cả các trang con?
Lưu ý, IsSectionDefined ("AdminSidebar") chỉ hoạt động trong tệp bố cục. Nó không hoạt động trong trang để kiểm tra xem phần có sẵn hay không.
Thông minh. Tôi thích nó. Tôi ước rằng khung MVC chỉ bỏ qua các phần không được định nghĩa thay vì ném lỗi, nhưng điều này cho phép tôi xác định phần theo cách tôi muốn. – Brian
@Brian Nhưng tại sao không sử dụng renderPartial như đề xuất bởi itsmatt, nó sạch hơn nhiều? – gdoron
Bởi vì sau đó tôi sẽ phải tạo một phần cho mỗi trang mà tôi muốn thêm một thanh bên (nó theo ngữ cảnh dựa trên trang). – Brian