2010-01-28 2 views
0

asp.net에 설문 조사 생성 시스템을 쓰고 있습니다. 변수로 전달할 수있는 컨트롤을 만드는 가장 좋은 방법에 대해 질문했습니다. 이것은 사용자 정의 컨트롤을 사용하는 것이 좋았으므로 사용자 정의 컨트롤을 사용하는 것이 좋습니다.이 작업을 수행하는 빠른 방법은 패널 컨트롤에서 상속하고 CreateChildControls 메서드를 재정 의하여 표준 컨트롤을 컨트롤 컬렉션에 추가하는 것입니다. 이 방법으로 설문 조사에서 기본적으로 질문 인 내 "설문 조사"컨트롤을 만들 수 있습니다. 그러면 질문 컨트롤이 페이지에 동적으로 추가됩니다. 이 모든 것은 잘 작동하지만 내가이 컨트롤에서 값을 가져 오려고 시도한다는 사실을 알았고 viewstates 및 페이지 수명주기의 하위 세계에서 길을 잃은 것처럼 보입니다. 동적으로 추가 된 텍스트 상자에 알려진 ID가 있는지 확인할 수 있습니다. 그러나 페이지 초기화 핸들러에 부모 컨트롤을 추가하더라도 ViewChild가로드 될 때까지 CreateChildControls 메서드가 실행되지 않습니다. 이 텍스트 상자에서 값을 검색하는 방법을 알아낼 수 없습니다.동적으로 추가 된 사용자 정의 컨트롤에서 데이터에 액세스

답변

0

컨트롤의 초기화 처리기에서 EnsureChildControls 메서드를 호출하여 ViewState가로드되기 전에 CreateChildControls가 호출되도록 할 수 있습니다.

0

분명히 어려운 일을하는 것처럼 보입니다. TextBox 값은 Viewstate에 저장되지 않고 요청에 게시됩니다.

여기에 UserControl을 사용하지 않는 이유는 무엇입니까? 그래서 어딘가에 "통과"할 수 있습니까? 너 정확히 뭘 하려구?

관련 문제