HomeController sınıfının içerisine üç tane metod vardır.
Bu üç metod Views klasörünün içerisindeki (~/Views/Home/) üç tane dosyayı görüntüler. ViewBag.Message değişkeninin rolünü gözlemlemek için değerini değiştirip, projeyi çalıştırıp, farkları gözlemleyebilirsiniz.
Şimdi daha iyi anlamak için kendi Controller sınıfımızı oluşturalım. Controller klasörüne sağ tıklayıp, Add > Controller seçeneğine tıklıyoruz.
Daha sonra açılan pencerede Controller sınıfımız için bir isim belirliyoruz.
Controller sınıfımızı oluşturduk şimdide bu sınıfın metodlarını yazalım. Varsayılan olarak Index metodu eklenmiş olarak gelir.
Controller sınıfının metodlarının nasıl çalıştığını daha iyi anlamak için HomeController sınıfından farklı birşey deneyeceğiz.
1. Varsayılan olarak gelen Index metodunun geri dönüş tipini string olarak değiştirelim. Ayrıca iki metod daha ekleyebilirsiniz.
// // GET: /Test/ public string Index() { return "TestController > Index > Test Yazısı..."; } // // GET: /Test/Details public string Details() { return "TestController > Details > Test Yazısı..."; } // // GET: /Test/Browse public string Browse() { return "TestController > Browse > Test Yazısı..."; }
2. Şimdi projeyi çalıştırıp aşağıdaki url leri görüntüleyelim.
- /Test
- /Test/Details
- /Test/Browse
Örnek çıktı:
Gördüğünüz gibi sadece string bir değer görüntülendi. Controller sınıfları kendisine yapılan isteklere bir değer döndürür. Bu bir HTML sayfası olabilir, string olabilir, vb...
Daha detaylı incelemeyi View ve Model kavramlarını da anlattıktak sonra örnek uygulamalarla yapacağız...
Merhaba /Test/Index sayfası için neden sadece /Test yazdık. /Test sayfasını açınca içinde direk Index() metodunu mu arıyor? bu ismi değiştirebilirmiyim?
YanıtlaSilRouteConfig içerisinde varsayılan olarak, controller=home ve action=index olarak tanımlı, siz Test/Index yazmasanız bile index sayfası gelecektir. Her iki adres te (Test ve Test/Index) calısır. RouteConfig içerisinde varsayılan action değerini değiştirirseniz olur.
SilHocam Hayirlisi ile MVC basladik senin anlatimlarinla .Ellerine saglik
YanıtlaSilBu yorum yazar tarafından silindi.
YanıtlaSil