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.