2013-03-20 3 views
1

웹 파트 (SP 2010)에서 동적으로 확인란 컨트롤을 생성하려고하지만 생성해야하는 확인란의 수는 이전 웹 파트의 값에 따라 다릅니다. 웹 파트 통신 인프라를 준수하면서 "onprerender"단계에서만 그 가치를 얻을 수 있습니다. 그러나 해당 값을 가진 확인란을 만들려고하면 포스트 백에서 확인란의 선택된 값을 가져올 수 없습니다! 동적으로 생성 된 컨트롤은 page_load 또는 oninit에 배치해야한다는 것을 알고 있습니다. 그러나 여기서는 사전 렌더링 단계에서 특별한 가치를 얻고 있기 때문에 여기에 넣지 않는 것이 좋습니다. 도와주세요! 이걸 쳤어!동적으로 생성 된 확인란 값은 가져 오기 단계에서 가져 오기

답변

1

Asp.net은 페이지에 해당 컨트롤이 필요할 때까지 처음으로 추가 한 후 모든 Init에 동적으로 추가 된 컨트롤을 다시 만들어야합니다.

Session 변수를 사용하여 개수를 추적 할 수 있습니다.

ProcessPostData 메서드가 호출 될 때 (LoadViewState 바로 뒤에 호출 됨) 컨트롤이 없으면 사용자 입력을받을 수 없습니다. CheckedChanged와 같은 이벤트는 컨트롤이 ProcessPostData이 호출되기 전에 Controls 컬렉션에있는 경우에만 실행됩니다.

은 참조 : Page life cycle

+0

안녕하세요, 감사합니다 답장을! 하지만, 그것은 세션 변수를 사용하도록되어 있지 않습니다. – Esh

+0

ViewState는 'LoadViewState'가 바로 전에 호출되기 때문에 사용할 수 있습니다. 이것은 이벤트가 아니기 때문에, 당신은'LoadViewState' 메소드를 오버라이드해야 할 것입니다. – nunespascal

관련 문제