Trong chương này, chúng ta sẽ thảo luận về Bắt đầu Xem dao cạo. Công cụ xem dao cạo trong MVC có một quy ước trong đó nó sẽ tìm bất kỳ tệp nào có tên _ViewStart.cshtml và thực thi mã bên trong tệp này. trước khi thực thi mã bên trong một khung nhìn riêng lẻ.
- Mã bên trong tệp ViewStart không thể kết xuất thành đầu ra HTML của một trang, nhưng nó có thể được sử dụng để xóa mã trùng lặp khỏi các khối mã bên trong các chế độ xem riêng lẻ.
- Trong ví dụ của chúng tôi, nếu chúng tôi muốn mọi chế độ xem sử dụng chế độ xem Bố cục mà chúng tôi đã tạo trong chương trước, chúng tôi có thể đặt mã để đặt chế độ xem Bố cục bên trong ViewStart thay vì có mã bên trong mỗi chế độ xem.
Thí dụ
Hãy để chúng tôi lấy một ví dụ đơn giản để xem làm thế nào điều này hoạt động. Trong ứng dụng của chúng tôi, chúng tôi không muốn mọi chế độ xem chỉ định rằng chế độ xem Bố cục của nó là _Layout.cshtml. Vì vậy, nhấp chuột phải vào thư mục Lượt xem và chọn Thêm → Mục mới.
Có một mẫu cụ thể trong ASP.NET MVC cho trang ViewStart, vì vậy hãy chọn MVC View Start Page ở khung giữa. Phần quan trọng nhất ở đây là tệp này có tên _ViewStart.cshtml. Bây giờ bấm vào nút Thêm.
The primary use of a ViewStart file is to set the Layout view.
Let us now go to the Index.cshtml file and cut the Layout line and then add it to the ViewStart file as shown in the following program.
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
- Khi khung MVC đi đến kết xuất một khung nhìn, nó sẽ xem liệu có tệp ViewStart ở đâu đó trong hệ thống phân cấp thư mục hay không.
- Chúng tôi đã đặt _ViewStart trực tiếp vào thư mục Lượt xem của chúng tôi. Điều này sẽ tác động đến tất cả các chế độ xem trong tất cả các thư mục bên trong thư mục Lượt xem và cả các chế độ xem trong thư mục Trang chủ, cũng như thư mục Dùng chung, cũng như mọi thư mục điều khiển khác mà chúng tôi có thể thêm trong tương lai.
- Nếu chúng ta lấy ViewStart và chỉ đặt nó trong thư mục Home, thì đoạn mã nhỏ này sẽ chỉ thực thi khi chúng ta hiển thị một trong những khung nhìn đó trong thư mục Home.
- Chúng tôi thậm chí có thể có nhiều tệp ViewStart, vì vậy chúng tôi có thể có ViewStart.cshtml ở đây trong thư mục Chế độ xem đặt chế độ xem Bố cục cho tất cả các chế độ xem.
- Nhưng nếu chúng ta muốn thay đổi mặc định đó cho tất cả các chế độ xem chỉ trong thư mục Home, chúng ta có thể có một ViewStart khác trong thư mục Home đặt bố cục thành một thứ khác.
Hãy để chúng tôi lưu tất cả các tập tin và chạy ứng dụng.
Bạn sẽ thấy rằng trang chủ của bạn vẫn hiển thị giống như trước đây và chúng tôi vẫn có chế độ xem Bố cục có hiệu lực.