Sayfalar

28 Ocak 2013 Pazartesi

ASP.NET MVC DERSLERİ ( 2.2 ) CONTROLLER : İLK UYGULAMA

Internet Application Template şablununu kullanarak yeni bir proje oluşturduğumuzda, varsayılan olarak iki tane Controller sınıfı vardır. HomeController ve AccountController.


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...


4 yorum:

  1. 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ıtlaSil
    Yanıtlar
    1. RouteConfig 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.

      Sil
  2. Hocam Hayirlisi ile MVC basladik senin anlatimlarinla .Ellerine saglik

    YanıtlaSil
  3. Bu yorum yazar tarafından silindi.

    YanıtlaSil