ASP.NET Kontroller (Controllers) Nedir? Kullanımı ve Örnekler

Başlatan Gihya, Nis 06, 2025, 06:07 ÖS

« önceki - sonraki »

Gihya

ASP[DOT]NET, Microsoft'un güçlü web geliştirme framework'lerinden biridir ve özellikle MVC (Model-View-Controller) mimarisi ile tanınır. Bu mimaride kontroller (controllers), uygulamanın mantığını yöneten ve kullanıcı isteklerini (requests) işleyen temel yapı taşlarından biridir. Bu yazıda, ASP[DOT]NET kontrollerinin ne olduğunu, nasıl çalıştığını ve SEO uyumlu bir şekilde nasıl kullanılabileceğini detaylı bir şekilde ele alacağız. Ayrıca, pratik kod örnekleriyle konuyu pekiştireceksiniz.

ASP[DOT]NET Kontroller Nedir?
ASP[DOT]NET MVC'de kontroller, HTTP isteklerini (GET, POST vb.) karşılayan ve bu istekleri uygun bir şekilde işleyerek kullanıcıya bir yanıt (response) döndüren sınıflardır. Kontroller, genellikle kullanıcı arayüzü (view) ile veri modeli (model) arasında bir köprü görevi görür. Bir başka deyişle, uygulamanın iş mantığını koordine eder ve istemciye doğru çıktıyı sağlar.

Ana Görevleri:
  • Kullanıcıdan gelen HTTP isteklerini almak,
  • Veritabanı veya iş mantığı ile etkileşim kurmak,
  • Gerekli verileri bir görünüme (view) aktarmak.

SEO açısından, kontrollerin doğru yapılandırılması, hızlı yanıt süreleri ve anlamlı URL'ler oluşturması, arama motorlarının sitenizi daha iyi anlamasını sağlar.

ASP[DOT]NET Kontroller Nasıl Oluşturulur?
ASP[DOT]NET MVC projesinde bir kontrol sınıfı oluşturmak oldukça basittir. Kontroller, genellikle Controllers klasöründe yer alır ve Controller sınıfından türetilir. Aşağıda adım adım bir kontrol oluşturma örneği bulabilirsiniz.

Örnek 1: Basit Bir Kontrol Oluşturma
using Microsoft.AspNetCore.Mvc;

namespace MyWebApp.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public IActionResult About()
        {
            ViewData["Message"] = "Bu bir hakkımda sayfasıdır.";
            return View();
        }
    }
}


  • Index Metodu: Ana sayfa için bir görünüm döndürür.
  • About Metodu: Kullanıcıya bir mesaj ile birlikte "hakkımda" sayfasını gösterir.

Bu yapı, SEO açısından temiz ve anlamlı URL'ler sağlar:
  • /Home/Index → Ana sayfa
  • /Home/About → Hakkımda sayfası

Kontrollerde Parametre Kullanımı
Kullanıcıdan gelen verileri işlemek için kontrollerde parametreler sıkça kullanılır. Örneğin, bir ürün detay sayfasını düşünelim.

Örnek 2: Parametre ile Ürün Detay Sayfası
public class ProductController : Controller
{
    public IActionResult Detail(int id)
    {
        // Veritabanından ürün bilgisi çekiliyor (örnek olarak sabit veri kullanıyoruz)
        var product = new { Id = id, Name = "Örnek Ürün", Price = 99.90 };
        return View(product);
    }
}

  • URL: /Product/Detail/1
  • Çıktı: ID'si 1 olan ürünün detayları kullanıcıya gösterilir.

SEO açısından, bu tür URL'ler arama motorları tarafından kolayca indekslenir ve kullanıcı dostudur.

HTTP Yöntemleri ile Kontrolleri Zenginleştirme
ASP[DOT]NET kontrolleri, HTTP metodlarına (GET, POST vb.) göre farklı aksiyonlar alabilir. Örneğin, bir form gönderimini ele alalım.

Örnek 3: Form Gönderimi ile Kontrol
public class ContactController : Controller
{
    [HttpGet]
    public IActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public IActionResult Index(string name, string message)
    {
        if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(message))
        {
            ViewBag.SuccessMessage = $"{name}, mesajınız başarıyla gönderildi!";
        }
        return View();
    }
}


  • [HttpGet]: Formu ilk açtığında çalışır.
  • [HttpPost]: Kullanıcı formu doldurup gönderdiğinde çalışır.

Bu yapı, kullanıcı deneyimini iyileştirir ve SEO için önemli olan sayfa yükleme hızını optimize eder.

SEO Uyumlu Kontroller İçin İpuçları
  • Anlamlı URL'ler Kullanın:
     Kontrol ve aksiyon isimlerini kısa, açıklayıcı ve anahtar kelime odaklı tutun. Örneğin, /Blog/Post/asp-net-mvc gibi.
  • Hızlı Yanıt Süreleri:
     Gereksiz veritabanı çağrılarını azaltmak için önbellekleme (caching) kullanın:

    [ResponseCache(Duration = 60)]
    public IActionResult Index()
    {
        return View();
    }
  • 404 ve Hata Sayfalarını Yönetin:
     Kullanıcı dostu hata sayfaları oluşturmak için özel aksiyonlar ekleyin:

    public IActionResult NotFound()
    {
        return View();
    }
  • Meta Veriler Ekleyin:
     Kontrollerde dinamik meta veriler oluşturmak için ViewBag veya ViewData kullanabilirsiniz:

    ViewBag.Title = "ASP[DOT]NET Kontroller Rehberi";
    ViewBag.Description = "ASP[DOT]NET MVC kontrolleri ile web geliştirme nasıl yapılır öğrenin.";

Sonuç
ASP[DOT]NET kontroller, web uygulamalarınızın temel yapı taşlarından biridir ve doğru kullanıldığında hem kullanıcı deneyimini hem de SEO performansını artırır. Yukarıdaki kod örnekleri ve ipuçları, projelerinizde hızlı bir başlangıç yapmanıza yardımcı olabilir. Kontrolleri anlamlı URL'ler, hızlı yanıt süreleri ve kullanıcı odaklı bir yaklaşımla optimize ederek arama motorlarında daha üst sıralarda yer alabilirsiniz.