Action ve Model Attributes (Nitelikler)

Bu bölümde Controller sınıflarında oluşturulan action metodlarına tanımlanan attribute sınıflarından en çok kullanılanların neler olduğunu örnek uygulama ile öğreneceğiz.

Öncelikle Visual Studio’da File>New>Project seçeneğinden Asp.NET Web Application seçeneğine tıklayalım. Boş bir tane MVC projesi açalım.

Şimdi burada yapacağımız işlem çok basit. İlk önce boş bir tane MVC 5 empty Controller ekliyoruz projemize.

İsmi de BolumController olsun. Daha sonra içinde ki Index methodu silelim. Ve aşağıdaki kodları yazalım.

[ActionName("TumFakulteler")]
        public ActionResult Detay()
        {
            return View();
        }
        [ActionName("Fakulte")]
        public ActionResult Detay(int id)
        {
            ViewBag.FakulteId = id;
            return View();
        }

Şimdi de bunlara birer view ekleyelim. View özellikleri şu şekilde olsun.

Birinci method için view özellikleri:

View name: TumFakulteler

Template :Empty without model

Use a Layout page seçeneğini seçiniz.

İkinci method için view özellikleri:

View name: Fakulteler

Template :Empty without model

Use a Layout page seçeneğini seçiniz.

View ları oluşturduktan sonra sayfaları aşağıdaki gibi ayarlayalım.

TumFakulteler.cshtml

<h2>Tüm Fakülteler</h2>

Fakulte.cshtml

<h2>@ViewBag.FakulteId ID'li Fakülte</h2>

Şimdi iki tane method oluşturduk. İki method baktığımız zaman Detay diye isimlendirilmiş. Fakat bir tanesi int tipinde id değişkenli bir parametre almış. Eğer [ActionName(“”)] kodunu bu methodların üstüne yazmadan çalıştırsaydık bize sayfa hata verecekti. Çünkü hangisine gideceğini bilmiyordu. Biz ise burada bu methodlara birer isim vererek controller’a hangi methoda gideceğini söylemiş oluyoruz. Projeyi çalıştırıp Bolum/Fakulte/1 ve Bolum/TumFakulteler adreslerine gidip sonucu görebilirsiniz.