문제

통신하는 두 개의 웹 부품이 있습니다. 제공 업체는 최소한 공급자의 Page_load 이벤트까지 소비자에게 값 (RID)을 제공 할 수 없습니다. 따라서 소비자는 page_load 이후까지 필요한 RID를 알 수 없습니다. 그래서 나는 page_loadcomplete에 연결했습니다. 이제 문제가 있습니다. 소비자는이 RID에 따라 동적 컨트롤을 만듭니다.

지금. 이 동적 생성 된 컨트롤은 page_load 이후에 생성됩니다. 따라서 뷰 스테이트는 복원되지 않습니다 (Page_Load 내부에서 생성 된 동적 컨트롤은 값을 복원해야 함).

따라서 기본적으로 필요한 것은 뷰 스테이트를 수동으로 컨트롤로 복원하거나 게시물 변수 또는 C#의 동등한 값을 얻는 방법입니다.

또한 Page_Init에서 컨트롤의 가치를 얻을 수 있다면 효과가 있습니다.

도움이 되었습니까?

해결책

요청. 양식 키/값 쌍에서 게시물에서 반환 된 모든 정보. 거기에 확인하고 키에서 제어 ID를 검색하면보기 상태를 살펴 보지 않고도 값을 얻을 수 있습니다.

키가 지정된 ID가 아닌 클라이언트 ID가되기 때문에 각 키를 살펴보고 컨트롤 이름이 포함되어 있는지 검색해야 할 것입니다.

다른 팁

컨트롤이 동적 인 경우 포스트 백이 발생할 때까지 ViewState에 있지 않습니다. 따라서 ViewState는 직접 ViewState를 추가하지 않는 한 초기로드에서 사용할 수 없습니다.

ViewState.Add("myRID", RID)

또는 SessionState에 저장할 수 있으며 ViewState가 어쨌든 너무 커지는 경향이 있기 때문에 ViewState를 과부하하지 않습니다. 나는 SessionState와 함께 갈 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top