Asp.Net Core’da Area Kullanımı
Bu konumuzda Asp.Net.Core.Mvc projemizde area’yı nasıl oluşturup konfigüre edebileceğimizi anlatacağım.
Ben temiz boş bir proje oluşturdum Solition kısmından Add => Area ekliyorum.
Oluşturduğum Area’nın adını belirtiyorum ve ekliyorum.
Daha sonra böyle bir ekran geliyor ve “ScaffoldingReadme.Txt” adlı bir text açılıyor.
Daha önce Asp.Net.Mvc yazdıysanız eğer routeConfig’e gidip şimdi Area’nın namespace’ini eklemeniz gerekecekti burada onun yerine
starttup.Cs’e girip bu app.UseMvc içerisine ekleyeceğiz. Yani ben area kullanıyorum diyoruz ama Area’nın ismini burada belirtmeyeceğiz Area adını Oluşturacağımız Controller içerisinde Route Attribute’ü ile belirteceğiz.
Gördüğünüz gibi böyle bir sayfa açıldı bana text’te de benzer bir şey gelmişti şimdi routes.MapRoute’u çoğaltıp bir tanede Area’ için oluşturacağım.
Tekrar tekrar usemvc kullanmak yerine aynı satır içerisinde tekrar routes.MapRoute’u kullandım ve artık Area oluşturduğumu bildiği için area kullanabileceğim. Ama öncelikle Area’da bir Controller Oluşturalım.
1 2 3 4 5 6 7 8 9 10 | <span style="font-size: 14pt; color: #000000;"> app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); routes.MapRoute( name: "areas", template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"); });</span> |
Area’da Home Controller oluşturdum.
Controller’ın En üst kısmına ( class düzeyine) Area Attiribute’ü ekledim ve burası Admin Area’sı demiş oldum.
1 | <span style="font-size: 14pt; color: #000000;"> [Area("Admin")]</span> |
Gördüğünüz gibi /Admin şeklinde gittiğimde Admin Areasına gitmiş oldum.
İşlem Tamamlandı.