10. Arealar

AREA 

 Bir web sitesi birden fazla bölümden oluşabilir. Ve her bölüm için ayrı bir proje oluşturmak isteyebilirsiniz. Bunun için ASP.net MVCde area (alt alan) yapısını kullanabilirsiniz. 


AREA NASIL EKLENİR ? 

Projenin üzerine gelip sağ tuşa tıklayıp ADD ordan da areaya tıklayın.Area ismini verdikten sonra AREAS adında bir klasör onun içinde bir klasör daha oluşacak o klasörün içinde de yepyeni bir proje olucaktır. O projenin kendine ait bir controller’ı , View’I ve model’ı olucaktır. Ana projeye yaptıgınız gibi controller , Actionlar için view ve model eklemeleri yapıp bu projeyi yönetebilirsiniz. 


AREAYA ULAŞMA 

SiteAdı / AlanAdı(AreaAdı) /  ControllerAdı / ActionAdı .  Bu urlyi diğer urlden ayıran şey alan yani area adıdır controllerla action adını girmeden once ilk olarak area adı yazılır. 


AREANIN ROUTE ‘ı nı yapılandırma 

Areanın route ayarlarının yapılandırılması areas klasörünün içindeki …….AreaRegistration.cs  sınıfnda yapılır e zaten areanında kendi içinde bağımsız bir proje oldugunu söylemiştik ozaman yapılandırma ayarının kendi içinde olması da doğaldır değil mi [Simge] 

 

Biraz daha detaya inersek ……AreaRegistration.cs ‘ nin içerisinde 

 

public override void RegisterArea(AreaRegistrationContext context)  
{ 
   context.MapRoute( 

     "Mobil_default", 
     "Mobil/{controller}/{action}/{id}", 
      new { action = "Index", id = UrlParameter.Optional } // NİYE CONTORLLER YOK 

       ); 
  } 

 

Metoduyla karşılaşıcaz burdaki ayarlar tahmim edebilceğiniz üzere normal route ayarlayırla aynı. Zaten yukarıda tek farkın alan adı oldugunu söyledik ki o da metot içinde sabit olarak MOBİL diye tanımlanmıştır 

  

ÖNEMLİ KISIMLAR 

  • Areanın dizin ismini değiştirmek isterseniz. 

    1.Areanın klasörünün ismini değiştirmelisiniz 

    2.Areanın …..AreaRegistration.cs sınıfında AreaName adında bir metot bulunmakta 

 

 

  Burdaki ismi değiştirmelisiniz

3.
Areanın layout tanımlamasının yapıldığı_ViewStart.cshtmldeki ismi değiştirmelisiniz. 

        

 

Bu aşamalardan sonra dizinin ismini değiştirip bunu da projenin gerekli yerlerine bildirmiş oldunuz ancak burda önemli nokta  bu yaptıgınız hareketler sitenin  route’nu değiştirmez sitenin routue hala 

 Mobil/Makale/Index  tir. Bunun ayarları aynı sınıftaki routeRegisterda yapılır. Bizim burda yaptıgmız proje dizininin adını değiştirmektir.