2013-02-26 91 views
6

我无法决定是否应该使用htmlHelper或局部视图来解决我的问题。htmlHelper vs局部视图

我想重用下面的代码:

<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和所述图像源将是参数。

这样做的最佳方法是什么?

回答

9

当你有很多标记时使用局部视图。应该使用Html助手来生成HTML的一小部分。在这种特殊情况下,你真的处于极限,两种方法都可以。使用你喜欢的这个特定例子。我可能会在这里使用一个自定义的HTML帮助程序,因为这看起来相当普遍,可以在各种应用程序中重用,如果将它整合到程序集中。

+0

好的,谢谢你的信息。我已根据您的建议创建了一个html助手。 – Sam 2013-02-26 14:58:20

+0

您的代码是否会通过AJAX调用也可能是一个标准。 – mediafreakch 2014-09-25 14:12:08

+0

@DarinDimitrov我认为性能方面也应该在这里考虑。使用局部视图时,ControllerFactory将创建局部视图的控制器(如果局部视图有任何视图)并且花费时间。 ControllerFactory将首先获取局部视图的位置(它缓存部分视图的位置,但仍然......)并创建一个不是小对象并占用一些内存的Controller实例。事件如果部分视图没有任何控制器(例如,RenderPartial),它仍然必须搜索部分视图。因此,我认为使用HtmlHelpers会更好。你怎么看? – sotn 2014-12-24 15:07:46