2009-06-19 4 views
3

나는 출력에 내가 이름, URL 및 어린이 메뉴 항목이 포함 된 메뉴 항목 클래스가이Asp.Net MVC에서 부분 뷰를 재귀 적으로 렌더링하는 것이 바람직하지 않습니까?

<ul> 
    <li> 
     MenuItemName1 
     <ul> 
     <li>Child Item</li> 
     </ul> 
    </li> 
    <li> 
     MenuItemName2 
    </li> 
</ul> 

같이하는 메뉴 구조를 원한다. 위와 같이 정렬되지 않은 목록으로 각 항목을 렌더링하는 부분 뷰를 만들고 싶습니다. 그리고 전체 트리를 순환하도록 재귀 적으로 호출합니다.

이것은 나쁜 생각입니까? 매우 느린가요?

답변

3

나는 이것을하고있어 특히 느리지 만 대 볼륨 사이트는 아닙니다. 일부 캐싱을 연결하는 좋은 장소가 될 것입니다.

my question on the same topic에 대한 답변을 확인하십시오. HTMLHelper 확장 메서드는 중첩 된 부분 뷰보다 조금 더 잘 수행 할 수 있다고 생각합니다.

0

게으르고 반복적 인 작업을하지 않는 것이 좋습니다.

모든 요소가 직접 표시되고 부분 렌더링 호출이없는보기보다 느려서는 안됩니다.

0

MVC에 대해서는 잘 모르겠지만 전통적인 ASP.Net 2.0에서는 사용자 컨트롤을 중첩하면 스택을 날려 버릴 수 있습니다. 나는 이것이 약 10+ 레벨의 둥지에서 한 번 일어난다는 것을 알았다.

관련 문제