6. HttpGet

HttpGet de HttpPost ile benzer işlemlerde kullanılır ancak genelde httpGet’te server tarafında herhangi bir bilgide değişiklik yapmak yerine server tarafından bilgi istediğimiz sırada kullanılırız. Hemen konuyla ilgili bir örnek üzerinden ilerleyelim.

  •    Önce controllerin içine üzerinde sorgu yapacağımız statik datalarımızı oluşturalım.
  private static List<Personel> _personeller = new List<Personel> {
   new Personel{Id=1,Ad="Cagatay",Soyad="Kızıltan",TcKimlikNo="11111111",DogumTarihi= new DateTime(1993,1,22) },
   new Personel{Id=2,Ad="Gorkem",Soyad="Kızıltan",TcKimlikNo="11111112",DogumTarihi=new DateTime(1992,1,22) },
   new Personel{Id=3,Ad="Ali",Soyad="Kızıltan",TcKimlikNo="11111113",DogumTarihi= new DateTime(1991,1,22)},
   new Personel{Id=4,Ad="Ahmet",Soyad="Kızıltan",TcKimlikNo="11111113",DogumTarihi= new DateTime(1990,1,22)}
};
  • PersonelAra isimli bir actionResult metod oluşturalım ve bu metoda bağlı bir template’i ve model şablonu boş bir view oluşturalım. Bu metot sayfa açıldığında arama textbox’ı ile karşımıza gelen sayfayı yönlendirecektir.
  public ActionResult PersonelAra()
  {
  return View();
  }
  •   PersonelAra controllerinin view’ına aşağıdaki kodları ekleyelim. Bu view arama textbox’u ve get işlemi yapılması için tıklanacak “Ara” butonunu içerecek olan sayfadır.
 @{
  ViewBag.Title = "PersonelAra";
  }

<h2>Personel Ara</h2>

 @using (Html.BeginForm())
  {
  <input type="text" name="personelAdi" />
  <br />
  <input type="submit" value="Ara" />
  }

  • Model klasörünün içerisine aşağıdaki şekilde personel bilgilerini tutacak bir modelleme yapalım.
 public class Personel
 {
      public int Id { get; set; }

      public string Ad { get; set; }

      public string Soyad { get; set; }

      public string TcKimlikNo { get; set; }

      public DateTime DogumTarihi { get; set; }
 
   }
  •   Daha sonra controllere aşağıdaki gibi bir adet daha metot ekleyelim. Bu controller PersonelAra view’ından “Ara” işlemi yapıldıktan sonra yönlenilecek controllerdır. View’ın ara textbox’una girilen string bu controllera parametre olarak gelir ve aşağıdaki linq sorgusuyla arama yapılıp controllerin kendi viewında listelenir.
[HttpGet]
  public ActionResult PersonelAramaSonucu(string personelAdi)
  {

   var aramaSonucundakiPersoneller = _personeller.Where(p => p.Ad.Contains(personelAdi)).ToList();

   return View(aramaSonucundakiPersoneller);

 }
  •  Eklediğimiz metoda list template’inde ve personel model şablonunda otomatik olarak bir view ekleyelim.

Daha sonra oluşturduğumuz PersonelAra view’ından arattığımız bilginin HttpGet olarak ayarladığımız PersonelAramaSonucu metoduna düşebilmesi için aşağıdaki eklemeleri yapalım.

@using (Html.BeginForm("PersonelAramaSonucu", "Home", FormMethod.Get))

yukarıdaki parametre sırası farkedeceğiniz üzere action metot, controller ve Form tipi şeklindedir. Yukarıdaki kodlamayı tamamladıktan sonra karşımıza çıkan sayfa ve sonuçlar aşağıdaki gibi olacaktır.

PERSONEL ARA SAYFASI

PERSONEL ARAMA SONUCLARI