Aynı jilet düzenini otomatik olarak görünümlerime atamak için _viewstart.cshtml kullanıyorum .
Views klasörünün kökünde şöyle görünen ölü, basit bir dosya:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Bu, @Layout yönergesini her bir görünüme eklemekten daha DRY'dir.
Ancak, bu jilet kısmi görünümleri için bir sorun oluşturur , çünkü _viewstart.cshtml içeriğini çalıştırırlar ve bu nedenle kendilerini yanlış bir düzen atarlar, bu da onları artık kısmi yapmaz.
İşte _viewstart.cshtml dosyasını, paylaşılan _layout.shtml dosyasını ve kısmi bir görünümü ("AnonBar.cshtml") gösteren varsayımsal bir proje.
Şu anda, bu sorunu aşmanın yolu her kısmi görünüme aşağıdaki satırı eklemektir:
@{
Layout = "";
}
Bu, Razor'da bir görüşü kısmi olarak göstermenin yanlış yolu gibi görünüyor. (Web formları görünüm motorunun aksine, dosya uzantısının kısmi görünümler için aynı olduğunu unutmayın.)
Düşündüğüm diğer seçenekler ama daha da kötüsü:
- Tüm kısmi görünümleri ortak bir klasöre koyarak ortak bir _viewstart.cshtml paylaşabilsinler. Bu, görünümlerin denetleyicileriyle aynı klasörde olma kuralını ihlal eder.
- Kısmi görünümler kullanılmıyor.
Bu, Razor view motor ekibi tarafından hâlâ ortaya çıkan bir şey mi, yoksa temel bir kavram mı eksik?