Thứ Bảy, 20 tháng 5, 2017

Tìm hiểu về method RenderBody(), RenderSection() trong Asp.net MVC

1. Tìm hiểu về layout view


Một website có thể chứa các phần chung trong các giao diện người dùng mà vẫn giữ nguyên trong suốt ứng dụng chẳng hạn như logo, tiêu đề, thanh điều hướng bên trái,thanh điều hướng bên phải hoặc phần footer đó được gọi là layout web.

ASP.NET MVC giới thiệu Layout view là một view mà có thể dùng lại trong nhiều view khác để cung cấp một giao diện nhất quán trong nhiều trang của một site. Layout View giống như master page của ứng dụng ASP.NET Webform.

Ví dụ, một giao diện người dùng có thể chứa header, thanh menu trái, thanh menu phải và phần chân trang mà vẫn giống nhau trong tất cả các trang và chỉ có phần trung tâm thay đổi tự động theo từng trang trong website như hình dưới đây.



Khi tạo ứng dụng ASP.NET MVC, mặc định file layout có tên _Layout.cshtml trong thư mục Views/Shared.

File _Layout.cshtml giống với view khác ngoại trừ việc trong Layout view có chứa 2 lệnh gọi method @RenderBody và @RenderSection.

Layout chứa một và chỉ một lệnh @RenderBody() để giữ chỗ cho nội dung trong những view kế thừa layout.

Layout không có hoặc nhiều lệnh @RenderSection() để giữ chỗ cho những thành phần khác được đánh dấu thông qua khối @section tensection { } trong view kế thừa layout.


2. RenderBody()


Tất cả nội dung của những view mà kế thừa 1 layout nào đó sẽ chứa trong RenderBody().

3. RenderSection()


Hiển thị nội dung của 1 thành phần nhỏ trong layout


Ví dụ về RenderSection


Method RenderSection() có 2 tham số tham số thứ nhất là tên section tham số thứ 2 là required kiểu bool. Nếu các bạn không muốn sử dụng RenderSection trong tất cả các trang web thì thì truyến giá trị false vào tham số required.


EmoticonEmoticon