2013-02-26 2 views
6

내 문제를 해결하기 위해 htmlHelper 또는 부분 뷰를 사용해야하는지 여부를 결정할 수 없습니다.htmlHelper 대 부분 뷰

나는 다음과 같은 코드를 재사용하고 싶은 :

<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)가 없으면 부분 뷰를 검색해야합니다. 따라서 HtmlHelpers를 사용하는 것이 더 좋을 것이라고 생각합니다. 어떻게 생각해? – sotn