Kontrolör Oluşturma

Hali hazırda Controller klasöründe HomeController gibi ana sayfayı gösteren bir kontrolör dahil birkaç kontrolör bulunmaktadır. Sunucumuz çalıştığında tarayıcıdan http://localhost:5000 adresine gittiğimizde bize o sayfayı gösteren kontrolör HomeController dür.

Yapılacaklar listesi için bu klasör içerisine TodoController adında bir kontrolör oluşturalım. Sonuna .cs eklentisini koymayı unutmayın. Oluşturduktan sonra içerisine aşağıdaki kodu yapıştırın

Controllers/TodoController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace AspNetCoreTodo.Controllers
{
    public class TodoController : Controller
    {
        // Aksiyonlar buraya gelecek
    }
}

Kontrolör tarafından idare edilen rotalara aksiyon denir. Bunlar kontrolör içindeki metodlarla ifade edilir. Örneğin HomeController üç tane aksiyon bulunmaktadır (Index, About, ve Contact). Bu aksiyonlar ASP.NET Core tarafında şu şekilde rotalara yerleştirilmişlerdir.

localhost:5000/Home         -> Index()
localhost:5000/Home/About   -> About()
localhost:5000/Home/Contact -> Contact()

ASP.NET Core rotaları yaratmak için birkaç kalıp kullanmaktadır. Örneğin kontrolörümüzün ismi FooController olur ise rotamız doğrudan /Foo oluyor. /Foo/Index ile /Foo aynı anlama geliyor ayrıca Index aksiyonu yazmanıza gerek kalmıyor yani. Bu proje boyunca biz varsayılan haliyle kullanacağız.

TodoController içerisine // Aksiyon buraya gelecek yazısı yerine Index aksiyonu oluşturalım

public class TodoController : Controller
{
    public IActionResult Index()
    {
        // Database'den değerleri getir

        // Gelen değerleri yeni modele koy

        // Modeli Görünyüye ekle ve sayfayı göster.
    }
}

Aksiyon metodları Görüntü(view), JSON verisi, veya HTTP status kodu 200 OK veya 404 Not Found gibi esnek değerler döndürebilir.

Pratikte kontrolörün olabildiğince basit olmasına özen gösterilir. Böyle bir kontrolörü hedef olarak aldığımızda kontrolör sadece veritabanından değerler alıp bunları modele koyma işini yapar. Ardından önyüze gönderir.

Kontrolörün devamını yazmadan önce Model ve Görüntü (view) oluşturmanız gerekmektedir.

results matching ""

    No results matching ""