ASP.NET Core 5/Action türleri

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

ViewResultDüzenle

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.

PartialViewResultDüzenle

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.

JsonResultDüzenle

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.

EmptyResultDüzenle

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.

ContentResultDüzenle

İ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.

ViewComponentResultDüzenle

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

ActionResultDüzenle

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.

IActionResultDüzenle

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.