2013-02-26 3 views
6

Я не могу решить, следует ли использовать htmlHelper или частичное представление для решения моей проблемы.htmlHelper vs partial view

Я хотел бы повторно использовать следующий код:

<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

+0

Независимо от того, будет ли ваш код вызываться через AJAX, может быть и критерий. – mediafreakch

+0

@DarinDimitrov Я считаю, что аспект производительности также следует рассматривать здесь. При использовании частичных представлений ControllerFactory создает контроллер частичного представления (если частичное представление имеет какое-либо значение), и это требует времени. ControllerFactory сначала получит местоположение частичного представления (он кэширует местоположения частичных представлений, но все же ...) и создаст экземпляр Controller, который не является маленьким объектом и потребляет некоторую память. Событие, если частичный вид не имеет каких-либо контроллеров (например, RenderPartial), он все равно должен искать Partial View. Поэтому я думаю, что использование HtmlHelpers было бы лучше. Как вы думаете? – sotn