2012-08-09 4 views
0

동적 인 사용자 컨트롤 집합을 생성하는 데 사용해야하는 "횡단면"변수가 있습니다. 페이지의 중앙에는 Telerik 멀티탭/페이지가 있습니다. 나는 사용자 정의 트리 메뉴와 사용자 정의 메뉴 모음을 가지고 있으며, 각 탭의 메뉴 입력 조합을 기반으로 데이터의 횡단면과 관련된 사용자 정의 컨트롤을로드해야합니다.다른 컨트롤 이벤트를 기반으로 사용자 컨트롤을 동적으로로드하십시오.

거의 모든 탭, treeview, 메뉴 모음 조합에는 고유 한 컨트롤이 필요합니다.

내 문제는 "OnMenuChanged"이벤트가 트리거되기 전에 모든 포스트 백 /로드가 발생하기 때문에 사용자 컨트롤 중 하나의 "설정"입니다. 세션/viewstate를 사용하더라도 할당 된 값을 필요로 할 때까지 할당되지 않습니다.

현재 기본 사용자 컨트롤이 "pageviewcreated"이벤트에로드 된 다음 onMenuItemChanged에서 돌아가서 사용자 컨트롤을 다시로드합니다. 그것은 매우 비효율적 인 것으로 보이며 오른쪽 .ascx를 선택하는 접근법을 복잡하게 만듭니다.

어떻게 관리합니까?

답변

0

내가하려는 일을 이해했다면 자리 표시 자 컨트롤을 사용하고 관리중인 이벤트 내부에 필요한 사용자 정의 컨트롤을 삽입 할 수 없습니까? "OnMenuSelected"이벤트 내부에서 이와 같은 작업을 시도하십시오.

WebUserControl1 uc = (WebUserControl1) Page.LoadControl("WebUserControl1.ascx"); 
PlaceHolder1.Controls.Add(uc); 
+0

내가 해봅시다. – Sethery

+0

그냥 aspx 페이지에서 기억, 거기에 사용자 정의 컨트롤을로드 할 수있는 자리 표시 자 컨트롤이 있어야합니다. –

+0

기존 코드를 살펴본 후 이전 프로그래머는 tabpageview.controls.add (userCtrl); 그는 여전히 포스트 백에 컨트롤을 두 번로드해야하지만 제안 된대로 여전히 생성 된 탭 스트립 페이지 뷰에 defualts를로드합니다. – Sethery

관련 문제