2-)Proje oluşturma(Controller)
File->New->Project kısmına geldikten sonra C# Asp.net Form application seçiyoruz sonrasında ise MVC Tikini işaretliyoruz
Öncelikle sayfamıza eklememiz gereken şey Controller’dır sebebi ise kullanıcı sayfa istediğinde onu yönlendirecek olan bir yönlendiricimizin olması gerektiğindendir. Controller yapısında bilinmesi gereken özellikler aşağıdadır
Controller ismi Genellikle şöyle olur örneğin kullanıcının gitmek istediği sayfa erdincyasan.org/araba/index olsun bizim burda Controller adımız şu şekilde olmalı ArabaController.cs
[HttpGet]
Her kullanıcı bir siteye tıkladığında bir get isteği yollar biz de bu isteğine karşılık ona bazı sayfalar gösteririz Asp.Net MVC projelerinde ise varsayılan zaten [HttpGet] dir o yüzden controller oluşturduktan sonra başına get yazmasanız da get komutu olarak algılanır.
Madem araba örneği verdik onun üzerinden devam edelim ArabaController’ın içinebir adet fonksiyon yazıyoruz bu fonksiyonumuz da bize bir View Döndürmesi gerekiyor fonksiyon tanımlaması aşağıdaki şekilde olabilir
// GET: Araba
public ActionResult Index()
{
return View();
}
Örneğin yukarıdaki kodda yorum satırı ile yazılmış olan kısmı ben yazmadım yani VisualStudio burda bana diyor ki bunun varsayılanı get ona göre. ActionResult ise bizim bir view göndereceğimizi belirtiyor daha sonra ise returnView() diyerek değer döndürebiliyoruz.
[HttpPost]
Aynı şekilde kullanıcılar özellikle form doldurduklarında httpPost isteği gönderirler bu isteği gönderdiklerinde ise yapılması istenen şeyleri bu komutun altında belirtiyoruz örnek olarak aşağıda bir adet post sayfası oluşturdum ama başka herhangi bir konuya değinmediğim için herhangi bir işlem yapmayacağım.
[HttpPost]
public ActionResult Index(string yazi)
{
/*
* Veri tabanından veri çekme
* veriyi ViewBag.VeriAdi şeklinde viewBag içine atma
* */
return View();
}
Burada string yazi ile belirtilen kısımda kullanıcı bize post işlemi ile bir yazi gönderdiğinibelirtir
Başka bir sayfa gönderme?
Olur da kullanıcı araba sayfasını istedi ama siz o sayfa henüz bakımda olduğu için başka sayfaya göndermek istiyorsunuz bu durumda tek yapmanız gereken return View(“SayfaAdi”); Böyle bir durumda tek dikkat etmeniz gereken SayfaAdi altındaki view Shared klasöründe paylaşılmalı
Route Özelleştirmeleri
Bazı sayfaların route’larını özelleştirebiliyorsunuz bu şu şekil demek oluyor mesela birden fazla arabanız var her arabanızın da bir idsi var şu şekilde bir route işlemi yapabilirsiniz.
[Route("araba/{id}")]
public ActionResult Index(int id)
{
ViewBag.id = id;
return View();
}
Controller ile bu kadar yazayım şimdilik eğer bakmak isterseniz şöyle özellikleri de google’da aratarak bulabilirsiniz.
- RouteConstraint
- Route Prefix
- Default Route
Yorumlar
Yorum Gönder