2008-10-30 7 views
2

좋아, 어떻게하는지 알고 있지만 이것이 최선의 방법인지 알고 싶습니다.디자인 질문 - 컨트롤 배열

주제 목록 (obv)이있는 "주제"라는 표가 있습니다. 나는 사용자가 구독 할 수있는 모든 다른 주제들로 약 20 (+/- 10) 개의 체크 박스가있는 페이지를 가지고있다. 이 작업을 수행하는 가장 좋은 방법은 확인란의 컨트롤 배열을 만들어 페이지로드시 채우는 것입니다.

문제는 체크 상자가 페이지에 배치 된 다음로드시 동적으로 채워야합니까? 그게 최선의 방법인가요? 컨트롤 배열에 익숙하지 않습니다.

감사합니다.

답변

2

"페이지에 배치해야합니까?"라는 의미를 정의하십시오.

Drag'n'Drop을 aspx 페이지로 드래그 하시겠습니까? 그렇게했다면, 페이지별로 생성 된 각각의 복사본과 첫 번째 집합을 대체 할 수있는 두 번째 복사본을 만들어야합니다.

확인란의 수는 어떻게 다릅니 까 ("20 (+/- 10)")? 옵션은 데이터베이스에서 제공됩니까? 그들은 고쳐졌지만, 얼마나 많은지 아직 알지 못합니까?

ControlCollection의 재미있는면 중 하나는 컨트롤이 한 번에 하나씩 만있을 수 있다는 것입니다. 시도하려는 경우 :

ControlCollection cool = new ControlCollection(); 
coll.Add(Page.Controls[0]); 

coll에 추가되지만 자동으로 Page.Controls에서 제거됩니다.

EDITED : (코멘트에 응답) 코드 숨김에서 수동으로 체크 박스를 생성하십시오. (WebForm 코드를 작성한 이후로 오랜 시간이 걸렸으므로 여기서 약간의 유감을 느낍니다) 그리고 배열 (배열 내가 ControlCollection에 대해 언급 한 문제)에 대한 지금

CheckBox[] boxes = new Checkbox[20]; 
for(int i =0; i< 20; ++i) 
{ 
    boxes[i] = new CheckBox(); 
    // do stuff here 
    Page.Controls.Add(boxes[i]); 
} 

을하지 말았어야 "여기 물건을 할"우리가 올바른 장소에 도착하는 데 필요한. 여러 가지 방법이 있습니다. 주변에 <table>을 만들 수 있습니다. 우리는 우리도 그들을 추가 aspx에 <asp:placeholder> 컨트롤을 가질 수 있습니다; 우리는 CSS 스타일 위치 속성을 설정할 수 있습니다.

+0

확인란의 수는 데이터베이스에 주어진 값에 따라 다를 수 있습니다. 이렇게하는 가장 좋은 방법은 페이지에 체크 상자를 놓는 것입니다. 내가 페이지를 구성에 넣을 수 있을지 알지 못했습니다. 3 열의 확인란이 필요합니다. 나는 그들을 반복 할 수 있어야한다. –