2012-06-07 5 views
1

저는 AJAXToolkit Accordion 컨트롤을 사용하고 데이터베이스 쿼리를 기반으로 동적으로 창이 추가됩니다. 예 :ASP.NET에서 동적으로 증가하는 변수 이름

Jane이 로그인하여 아코디언이있는 페이지를 위로 당깁니다. 데이터베이스에서 todo_list 테이블에 5 개의 행이 있습니다. 그래서 정보를 담고있는 다섯 개의 창을 동적으로 생성해야합니다. 테이블에서 ...하지만 Joe가 로그인하면 3 줄 밖에 가질 수 없으며 Josh에게는 15 명이있을 수 있습니다. 따라서 개인이 얼마나 많은 사람인지 미리 알 수는 없습니다.

그래서 변수 이름을 동적으로 지정하는 방법이 필요합니다 (또는이를 수행 할 다른 방법이 있습니다). 당신은 새로운 변수 이름을 만들 필요가 없습니다

Dim i as integer 
For each row in todo_list 
    Dim ap + i as New AccordionPane 
    Add some info from the row to the pane 
Next 
+0

여기 – swapneel

답변

1

예를 들어, 여기에 내가 달성하기 위해 노력하고있어 일부 의사 코드입니다. 당신은 단순히 (A List 같은) 다른 개체에 새로 만든 AccordionPane 객체를 추가 할 수 있습니다

편집 다음 AccoridonPane가 관리 제어 방법으로보고, 동적으로, 당신의 Accordion 제어를 잡고 추가 할 PlaceHolder 컨트롤을 사용하여 제안 아코디언 컨트롤 AccordionPanes는 다음 자리 표시 자에 아코디언을 추가 : 나는 새로운 목록 (AccordionPage의) 나는 오류 "유형 'AccordionPage'를 얻을 희미한 아코디언을 수행 할 때

Dim accordion as New AjaxControlToolkit.Accordion  

For each row in todo_list 
    Dim ap as New AjaxControlToolkit.AccordionPane 
    'Add the row data to the AccordionPane 

    accordion.Panes.Add(ap) 
Next 

'placeHolder is the id of your PlaceHolder control on the page. 
placeHolder.Controls.Add(accordion) 
+0

를 배열을 사용하여 정의되지 않은 " – davemackey

+0

@davemackey - sh에 대한 내 대답을 업데이트했습니다. 아코디언 컨트롤을 페이지에 동적으로 추가 할 수있는 가능한 솔루션입니다. – CAbbott

관련 문제