İçeriğe atla

ASP.NET Core 5/Action türleri

Vikikitap, özgür kütüphane

ASP.NET Core 5'te bir action'ın geri dönüş tipi aşağıdakilerden biri olabilir:

  • ViewResult
  • PartialViewResult
  • JsonResult
  • EmptyResult
  • ContentResult
  • ViewComponentResult
  • ActionResult
  • IActionResult

ViewResult[değiştir]

Bir view dosyasını render etmemizi sağlar. Bir action'ın bir view'ı render etmesi için Controller sınıfından devralınan View() metodunu çağırması yeterlidir.

PartialViewResult[değiştir]

Bir partial view'ı döndürmeye yarar. Partial view'lar client tabanlı yapılan Ajax istekleri ile kullanıma yatkındır. Çünkü normal view'lar _ViewStart.cshtml tabanlıdır. Her normal view render edileceğinde bu view da render edilir. Halbuki partial view'larda böyle bir durum söz konusu değildir. Bir action metodunun geriye PartialViewResult döndürmesi için Controller sınıfından devralınan PartialView() metodunun çağrılması yeterlidir.

JsonResult[değiştir]

Geriye Json türünde bir veri göndermek istiyorsak kullanılır. Bir JsonResult nesnesi oluşturmak için Controller sınıfından devralınan Json() metodunu kullanırız. Bu metoda herhangi bir tipte nesneyi parametre olarak verebiliriz. Metot, ilgili nesnein Json karşılığını üretecektir.

EmptyResult[değiştir]

Geriye boş sonuç döndürür. İsteğin başarılı bir şekilde alındığını ve gerekenin yapıldığını ama geriye veri döndürmeye gerek olmadığını belirtir. Geri dönüş tipi EmptyResult olan metotların new EmptyResult() ile boş sonuç nesnesi oluşturup geriye bu nesneyi döndürmeleri gerekmektedir. Ana sınıftan devralınan bir metot yoktur. Geri dönüş tipi void olan action metotları da aynı işlevi görür.

ContentResult[değiştir]

İstek sonucunda geriye HTML değil de metinsel bir veri döndürmek istiyorsak bu geri dönüş tipi kullanılır. Ana sınıftan devralınan Content() metodu kullanılır. Bu metot parametre olarak string alır.

ViewComponentResult[değiştir]

Geriye bir ViewComponent döndürmemizi sağlar.

ActionResult[değiştir]

Geriye döndürülecek sonuç belli olmadığında kullanılır. Yukarıda gördüğümüz bütün sonuç türlerini kapsar.

IActionResult[değiştir]

ActionResult tarafından implement edilmiş olan arayüzdür. Dolayısıyla bir action'ın geri dönüş tipi IActionReasult ise yukarıda bahsettiğimiz bütün geri dönüş tiplerinde nesne döndürebilir.