Her View bir ActionResult yani bir aksiyon/eylem sonucuna ihtiyaç duyacaktır. WebFormcular için anlatmak gerekirse her sayfanın “PageLoad”ı gibi düşünebilirsiniz. İşlem esnasında başka bir yol verilmedi ise genelde tüm işlemler bu yoldan geçecektir.
Ancak elbette oluşturma kısmı hiç aşina olmayanlar için biraz karmaşık gelebilir ilk başta.
Diyelim ki aşağıdaki gibi bir View yapısına sahibiz;
Burada gördüğünüz gibi ana aksiyon başlıklarımız için birer view dizini açtık ki mevcut Route yapımızın dışına çıkmadan işlemlerimize devam edebilelim.
Her bir dizinin içerisine direk girildiği taktirde aynı IIS default mantığında olduğu gibi Index view’ımız aranacaktır. Ancak buradaki tek fark Index.cshtml olmasıdır. Bunun dışında aynı mantık tamamen geçerlidir.
Şimdi de gelin bir Home/Index.cshtml sayfası oluşturalım. Home dizinimize sağ tıklıyoruz ve > “Add View” diyoruz ve “View Name” kısmına “Index” yazıp aşağıdaki görüntüdeki haldeyken “Add” diyoruz.
ve böylece ilk sayfamızı yani bir nevi “Index” sayfamızı oluşturmuş oluyoruz. Elbette bu şekilde “F5” yapmanız halinde “404 The resource cannot be found.” ile karşılaşacak ve bir sonuç alamayacaksınız. Bunu da (yine webformcular için) pageload olmadan start verdiğini .aspx sayfalardaki hata ekranlarına benzetebilirsiniz. 🙂
Zira henüz PageLoad eventimizin işlevini anlatacağımız ActionResult’umuzu oluşturmadık.
ActionResult ve/veya sayfalarımıza data gönderip alabileceğimiz CodeBehind olarak ta tabir edebileceğimiz bir yapıdır.
Şimdi gelelim Controller’ımızı oluşturmaya. Nasıl mı?
“Controller” dizinine sağ tıklayıp Add > Controller diyoruz. Açılan ekranda Controller Name kısmına View’imizin bulunduğu dizinin adını veriyoruz ki bundan böyle IIS bu dizin altındaki tüm sayfaların ActionResult ‘larını bu Controller içerisinde arayacak.
Gördüğünüz gibi bu aşamadan sonra F5 yaparak projemizi çalıştırdığımızda karşımıza View içerisindeki görüntümüz çıkıyor olacak.
Aynı işlemi eğer Administrator için yapacaksak yine View > Administrator’a sağ tıklayıp Add > View dedikten sonra Index.cshtml’imizi oluşturuyor ve peşinden Controller dizinimize sağ tıklayıp Add > Controller diyor ve Controller Name’i AdministratorController yapıyoruz. Tüm view’lerimize özel bir model tanımlamadığımız sürece bu şekilde işlem yaparak ActionResult’larımız ile sayfalarımızı aktif hale getirmiş oluyoruz.
İlerki yazılarımda ActionResult ile View arasında veri alışverişini nasıl yapabileceğimizi ve devamında ise yeni fonksiyonları nasıl tanımlayabileceğimizi görüyor olacağız.
Şimdiden az hatalı günler dilerim 🙂