Saya menggunakan _viewstart.cshtml untuk secara otomatis menetapkan Layout Razor yang sama dengan pandangan saya.
Ini adalah file sederhana yang mati di root folder Views saya yang terlihat seperti ini:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Ini lebih KERING daripada menambahkan arahan @Layout ke setiap tampilan tunggal.
Namun, ini menimbulkan masalah bagi sebagian tampilan Razor , karena mereka menjalankan konten _viewstart.cshtml dan karena itu salah menempatkan tata letak sendiri, yang membuat mereka, um, tidak lagi parsial.
Berikut adalah proyek hipotetis, menampilkan file _viewstart.cshtml, file _layout.shtml bersama, dan tampilan sebagian ("AnonBar.cshtml").
Saat ini, cara saya menyiasatinya adalah dengan menambahkan baris berikut ke setiap tampilan sebagian:
@{
Layout = "";
}
Ini sepertinya cara yang salah untuk menunjukkan pandangan sebagai bagian dari Razor. (Perhatikan bahwa tidak seperti mesin tampilan formulir web, ekstensi file sama untuk tampilan sebagian.)
Pilihan lain yang saya pertimbangkan tetapi itu bahkan lebih buruk:
- Menempatkan semua tampilan sebagian ke folder umum, sehingga mereka dapat membagikan _viewstart.cshtml umum. Ini mematahkan konvensi pandangan yang berada di folder yang sama dengan pengontrolnya.
- Tidak menggunakan tampilan sebagian.
Apakah ini sesuatu yang masih disempurnakan oleh tim mesin tampilan Razor, atau apakah saya kehilangan konsep mendasar?