19 Ocak 2016 Salı

Html.Partial, Html.RenderPartial, Html.Action, Html.RenderAction aralarındaki farklar nelerdir?

Html.Partial metodu
Html.Partial metodu, partial view'i Html-encoded string olarak çözümler. Html.Partial metodunun çıktısı string türünde değer döndürdüğü için değişkende saklanabilir.
Kullanımı kolaydır ve Action oluşturmaya gerek yoktur.
Html.Partial metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view ile birlikte geliyorsa kullanışlıdır. Örneğin, bir blog yazısında yorumları göstermek için Html.Partial metodu kullanılmalıdır çünkü blog yazısının yorumları, yazıyla birlikte ViewModel'in içerisinde gelmiş olacaktır.
Kullanım örneği:
@Html.Partial("_Yorumlar")

Html.RenderPartial metodu
Html.RenderPartial metodu, çağırıldığı sayfanın TextWriter'ını kullanır. Yani doğrudan Http response stream'e yazılır. Bu yüzden Html.Partial metodundan daha hızlıdır.
Html.RenderPartial metodu void döndürür. Kullanımı kolaydır ve Action oluşturmaya gerek yoktur.
Html.RenderPartial metodu, sayfada görüntülemek istediğiniz veriler metodu çağırdığınız View ile birlikte geliyorsa kullanışlıdır. Örneğin, bir blog yazısında yorumları göstermek için Html.RenderPartial metodu kullanılmalıdır çünkü blog yazısının yorumları, yazıyla birlikte ViewModel'in içerisinde gelmiş olacaktır.
Kullanım örneği:
@{Html.RenderPartial("_Yorumlar");}

Html.Action metodu
Html.Action metodu, partial view'i Html-encoded string olarak çözümler.
Html.Action metodunda, partial view'i yorumlamak için "child action" oluşturmamız gerekir. Html.Action metodunun çıktısı string türünde değer döndürdüğü için değişkende saklanabilir.
Html.Action metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view'dan bağımsız ise kullanışlıdır. Örneğin, bir blog yazısında her sayfada kategori listesini göstermek istiyorsak Html.Action metodu kullanılmalıdır çünkü kategori listesinin modeli diğerlerinden farklı olacaktır.
Kullanım örneği:
@{Html.Action("Kategori","Home");}
Ayrıca partial view'i önbellekte tutmak istiyorsanız Html.Action metodu en iyi çözüm olacaktır.

Html.RenderAction metodu
Html.RenderAction metodu, çağırıldığı sayfanın TextWriter'ını kullanır. Yani doğrudan Http response stream'e yazılır. Bu yüzden Html.Action metodundan daha hızlıdır.
Html.RenderAction metodunda, partial view'i yorumlamak için "child action" oluşturmamız gerekir.
Html.RenderAction metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view'dan bağımsız ise kullanışlıdır. Örneğin, bir blog yazısında her sayfada kategori listesini göstermek istiyorsak Html.RenderAction metodu kullanılmalıdır çünkü kategori listesinin modeli diğerlerinden farklı olacaktır.
Kullanım örneği:
@{Html.RenderAction("Kategori", "Home");}
Partial view'i önbellekte tutmak istiyorsanız Html.RenderAction metodu en iyi çözüm olacaktır.

Hiç yorum yok:

Yorum Gönder

.net 6 mapget kullanımı

 app.UseEndpoints(endpoints => {     endpoints.MapGet("/", async context =>     {         var response = JsonConvert.Seriali...