Bu serimizde Murat Yücedağ ile birlikte 3 ay sürecek olan bu MVC projesini geliştirmeye ve öğrendiklerimi aktarmaya çalışacağım. Sonunu güzel bir şekilde getirebileceğim bir proje olması dileğiyle🌸

C# programlama dili altında çalışacağız bu nedenle Visual Basic değil, C# altında bulunan Asp .NET projesini seçiyoruz. Burada Controller dosyalarımız .cs uzantılı olacak. Visual basic ile açsaydık .vb uzantılı olacaktı. Ayrıca .NET Framework ile çalışacağız. .NET Core ile değil.

- Empty: Boş bir ASP projesi oluşturup bütün yapıyı kendimiz dizayn edebiliriz.
- Web Forms: Microsoft artık destek vermiyor. Bu nedenle artık çok fazla tercih edilmiyor.
- MVC: Aktif bir şekilde kullanılmaya devam ediliyor. Yerini her geçen gün .NET Core’a (.NET 5) doğru bırakarak ilerliyor.




Biz ilk aşama olarak MVC yapısını tanımak amacıyla MVC şablonunu seçerek bunun üzerinde ilerleyeceğiz.

Solution Explorer (Çözüm Gezgini) kısmından projemizin katmanlarına ulaşabileceğiz.
MVC şablonu üzerinde bir proje oluşturduk. Bu proje şu an bir katmanlı (katman ismi: MvcProjeKampi). Bu katmanın ismi bazıları tarafından “User Interface (Kullanıcı Ara Yüzü)”, bazıları tarafından ise “Presentation (Sunum)” katmanı olarak adlandırılıyor. Bu katman içerisinde klasörler bulunuyor.

MVC 3 temel yapıya dayanıyor:
- Model: Veri tabanına ait, entity adı verilen kavramların tanımlandığı kısım.
- View: Tasarım (Front-end) kısmı.
- Controller: Back-end (C# kodlama) kısmı.

HomeController içerisinde Index, About ve Contact gibi ActionResult türünde (integer, string, json gibi türler de tanımlanabilir) bazı metodlar bulunuyor.
Metodların içerisinde return View() ile görüntülenmek üzere sayfa döndürülüyor.
Index metodu genellikle listeleme işi için kullanılıyor. Veriler listelenirken Index isimli bir isimle adlandırılıyor.
HomeController içerisinde tanımlanan metodlar varsa bu metodların mutlaka View tarafında karşılığı olmalı.
View > Home içerisinde ifadeler alfabetik olarak sıralanıyor. Bu sayfalar içerisinde HTML (Front-end) tarafı yazılıyor.


Projemiz alan adı almadığımız ve sunucu kiralamadığımız için localhost (yerel sunucu) üzerinde yükleniyor. Burada benim için 44370 şeklinde bir port numarası tanımlamış.
Bu çalışan proje içerisinde Application name (Uygulama adı) ve Home (Giriş Sayfası) kısımları aynı linklere gidiyor.
Sayfalar değişse bile sabit kalan bir alan var. Content (içerik) alanı değişken, Layout (eski adıyla Master Page) sabit kalıyor. HTML tarafında burası (üstteki alan) Navbar (Navigation Bar) şeklinde adlandırılıyor. Footer ise altta kalan değişmeyen alandır (2021 – ASP.NET Uygulamam yazan kısım).

Controller kısmında ActionResult türünde Test adında yeni bir metod tanımlayıp içerisinde sayfa döndürüyoruz.

Test metodunun üstüne gelip sağ tıklayarak Add View (Görünüm Ekle) kısmına tıklıyoruz.

Önümüze çıkan pencerede “Use a layout page (Bir düzen sayfası kullan)” seçeneğini işaretleyerek Test ismindeki sayfayı bir layout ile bağlı şekilde çalıştıracağımızı belirtiyoruz.


Layout dosyasını Views > Shared altında Layout.cshtml seçerek ekliyoruz.

Bu işlemin ardından Test sayfamız Views > Home altına eklenmiş oluyor.
Test sayfasını görüntülemek için tarayıcıda açık olan sayfamızı yenilemek yetmez. Controller veya sınıflar (Views) kısmında bir değişiklik gerçekleştirirsek projeyi yeniden. derlememiz gerekir. Derledikten sonra projeyi tarayıcıda görüntülersek (çalıştırırsak) Test sayfası gelmiş olacaktır.
Ders videolarına ulaşmak isterseniz: https://www.youtube.com/watch?v=yFToRUL6h8A