2009-04-07 6 views
2

TreeView를 사용하는 동안 성능을 극대화하려면 어떻게해야합니까?ASP.NET TreeView 성능

성능을 최대화하면 클라이언트 간, 즉 포스트 백 간의 트립 횟수를 최소화 할 수 있습니다.

그렇다면 내 비즈니스 로직의 대부분이 자바 스크립트에 포함될 것입니까? 여기서 타협은 무엇입니까?

내가 ASP.net 트 리뷰 서버 컨트롤에 대해

답변

1

먼저 프로그래밍 논리를 어디에 둘 것인지 결정하십시오. 속도를 높이려면 테이블 레이아웃을 사용하지 않는 다른 트리 뷰 컨트롤과 자바 스크립트 프레임 워크를 사용하여 클릭 이벤트를 처리하는 것이 좋습니다. AJAX 통신을 위해 일반 오래된 ashx 처리기 파일을 사용하는 것이 좋습니다. aspx 및 호출 페이지 메서드보다 오버 헤드가 적습니다. AJAX 호출 및 결과는 HTML이 아닌 JSON 또는 XML 형식의 데이터 만 포함해야합니다.

측면에서 VS 및 TreeView 컨트롤과 같은 RAD 도구는 웹 응용 프로그램을 빠르게 제작할 수 있지만 일부 처벌은 물론 : 모든 클릭/선택 이벤트를 처리하기 위해 서버로 돌아 가야합니다. 이로 인해 전체 페이지 라이프 사이클 처리 및 ajax 호출을위한 엄청난 양의 데이터 전송 (HTML과 함께 ViewState는 모든 Ajax 이벤트에 대해 서버에서 클라이언트로 전송됩니다).

하지만 당신은 트 리뷰를 고수하려는 경우, 내가 추천 :
- CSS 친절한 제어 어댑터 : 그들은 크게 (HTML의 20킬로바이트에 1백킬로바이트에서, 내 경우) 생성 된 HTML의 크기를 줄이고 UL와 테이블 레이아웃을 대체/li 요소
- ASP.NET AJAX UpdatePanel에서 TreeView를 감싸고 트리 뷰 만 사용하고 패널의 조건부 업데이트를 사용하십시오. 여러 개의 업데이트 패널을 사용하는 것을 두려워하지 마십시오.
- ViewState를 최소화하십시오.

+0

사실이 http://www.asp.net/ajax/documentation/live/overview/UpdatePanelOverview.aspx UpdatePanel에 따르면 내가 UpdatePanel에서 트 리뷰를 가지고 있지만, 몇 가지 트릭을해야했다 트 리뷰 – sarsnake

+0

와 호환되지 않습니다. 내가 어떻게했는지 여기에 게시하고 싶다면 알려주세요! –

+0

아니요, MS가 UpdatePanel에서 지원하지 않는다고 말하면, 거기서 사용하지 않을 것입니다. – sarsnake

0

개발 오버 헤드를 이야기하고있다 - 당신은 뒤에 모두 자바 스크립트 코드에서 비즈니스 로직을 유지해야합니다.

스크립트가 크면 클라이언트 성능이 저하 될 수도 있습니다.

+0

프리젠 테이션 레이어에서 비즈니스 로그인을 분리하는 것이 불가능합니다. – sarsnake

+0

당신은 별도의 자바 스크립트 파일을 가지고 비즈니스 로직을 처리 할 수 ​​있고, 자바 스크립트를 다른 에이전트로 생각하고, 자신의 PAC 계층을 구성 할 수 있습니다. 또는 코드 뒤에서 자바 스크립트 유효성 검사를 생성 할 수 있습니다. – FlyinFish