2013-01-03 8 views
0

크기 조정 및 드래그/드롭 가능한 아약스 컨트롤 툴킷 아코디언 컨트롤을 프로그래밍 방식으로 생성하려고했지만 몇 가지 문제가 발생했습니다.Ajax Control Toolkit을 사용하면 런타임에 크기 조정 가능하고 드래그/드롭 가능하도록 아코디언 컨트롤을 프로그래밍 방식으로 프로그래밍하는 방법은 무엇입니까?

먼저 할 수 있습니까?

둘째로, 제 접근 방식이 정확하게 작동하지 않습니다. OnClick에서 아코디언을 만드는 버튼이 있습니다. 그래서 저는 아코디언을 만듭니다. 아코디언 창을 추가하십시오. 아코디언 창에 콤보 단추를 추가하십시오. 그런 다음 전체 아코디언을 Ajax 패널에 추가하십시오. 내 이벤트 핸들러는 다음과 같습니다.

protected void btnTest_Clicked(object sender, EventArgs e) 
    { 
     //Generate the accordion 
     AjaxControlToolkit.Accordion acc = new AjaxControlToolkit.Accordion(); 

     //Generate a single accordion pane 
     AjaxControlToolkit.AccordionPane itm = new AccordionPane(); 

     //Create and add a control to the pane 
     AjaxControlToolkit.ComboBoxButton cbbtn = new ComboBoxButton(); 
     itm.Controls.Add(cbbtn); 
     acc.Panes.Add(itm); 

     //Add resizable extender to the accordion. Only did resizable for now. 
     //One step at a time. 
     AjaxControlToolkit.ResizableControlExtender extResizeLocation = new AjaxControlToolkit.ResizableControlExtender(); 
     extResizeLocation.TargetControlID = acc.ID; 
     extResizeLocation.Enabled = true; 

     //Add accordion to update panel and update. 
     UpdatePanel1.Controls.Add(acc); 
     UpdatePanel1.Update(); 
    } 

테스트 버튼을 눌렀을 때 나타나는 것은 테스트 버튼 아래에 생성 된 텍스트가없는 최소화 된 버튼 인 것처럼 보입니다. 나는 무엇을 해야할지 전혀 모른다.

은 도움

답변

1

동적으로 추가 된 컨트롤은 일반적으로 페이지의 초기화 또는 preinit 이벤트 기간 동안 추가 할 해야하는에게 감사합니다. 그것은로드 후 그것을하고 있기 때문에 그것은 합병증 일 수 있습니다.

핵심은 아코디언에 대한 클라이언트의 $register 메서드가 발생하는지 확인하는 것입니다. AJAX 컴포넌트의 클라이언트 측 기능을 초기화하고 라이프 사이클을 시작합니다. 내가 동적으로 추가 된 컨트롤에 대한 일이 있는지 모르겠다 ...

1

JQuery UI Accordian 위젯을보고 draggable/droppable 상호 작용을 사용할 수 있습니다.

서버 측 코드를 사용하여 블록을 만들고 jQuery 상호 작용을 적용 할 수 있습니다.

+0

나는이 프로젝트의 첫 번째 반복 작업을 실제로 수행했지만 드래그/드롭을 첨부하고 컨트롤에 크기를 조정할 수 있는지 궁금합니다. –