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.