2013-02-26 19 views
6

Sorunumu çözmek için bir htmlHelper mı yoksa kısmi bir görünüm kullanmam mı gerektiğine karar veremiyorum.htmlHelper vs partial view

aşağıdaki kodu yeniden istiyorum:

<div style="width: 500px; float: left;"> 
    <div class="box effect2"> 
    <span><a href="@Url.Action("someMethod", "somController")"> 
     <img src="@Url.Content("~someurl)" /></a></span> 
    </div> 
</div> 

href ve görüntü kaynağı parametreleri olacaktır.

Bunu yapmanın en iyi yolu nedir?

cevap

9

Çok fazla işaretleme olduğunda kısmi görünümü kullanın. HTML'nin yalnızca küçük bölümlerini oluşturmak için HTML yardımcıları kullanılmalıdır. Bu durumda gerçekten sınırdasınız ve her iki yaklaşım da iyi olacaktır. Bu özel örnek için tercih ettiğinizi kullanın. Muhtemelen özel bir HTML yardımcısıyla birlikte giderdim, çünkü bu, bir derleme içine dahil ederseniz, çeşitli uygulamalarda yeniden kullanılabilecek oldukça yaygın bir widget gibi görünüyor.

+0

tamam, bilgi için teşekkürler. Tavsiyenize göre bir html yardımcıları oluşturdum. – Sam

+0

Kodunuzun AJAX yoluyla aranıp aranmayacağı da bir ölçüt olabilir. – mediafreakch

+0

@DarinDimitrov Performans yönünün burada da düşünülmesi gerektiğini düşünüyorum. Kısmi görünümler kullanılırken, ControllerFactory kısmi görünümün denetleyicisini (kısmi görünüm varsa) oluşturur ve zamana mal olur. ControllerFactory öncelikle kısmi görünümün yerini alacaktır (kısmi görünümlerin konumlarını önbelleğe alır ancak yine de ..) ve küçük bir nesne olmayan ve bir miktar bellek tüketen bir Denetleyici örneği oluşturur. Kısmi görünümde herhangi bir denetleyici yoksa (ör. ,RenderPartial) olay, hala Kısmi Görünüm'ü aramak zorundadır. Bu nedenle, HtmlHelpers kullanmanın daha iyi olacağını düşünüyorum. Ne düşünüyorsun? – sotn

İlgili konular