문제

함께 데이터가있는 테이블을 함께 생성하는 3 개의 WebPart가 있습니다. WebParts는 다음과 같이 작동합니다. loginwp : 사용자는 2 개의 텍스트 필드에 사용자 이름과 암호를 입력 한 다음 로그인 버튼을 클릭 할 수 있습니다. 이렇게하면 로그인 함수가 활성화됩니다. 이 웹 파트는 이제 사용자가 로그인한지 확인하는 데 사용되는 티켓을 제공합니다.

Typewp :이 웹 파트는 Loginwp가 웹 파트를 제공 하고이 로그인 티켓을 사용하여 문서 유형을 가져 와서 콤보로드에서로드 할 수 있습니다. 문서 유형을 선택한 경우이 웹 파트는 이제 티켓과 문서 유형을 모두 제공합니다.

tablewp :이 웹 파트는 Typewp가 A 티켓과 문서 유형을 모두 제공 할 때 활성화됩니다. 두 변수를 모두 사용하여 테이블에 데이터를로드합니다.

로그인 버튼을 클릭하면 Typewp가 자동으로 첫 번째 문서 유형을 선택하여 테이블을 활성화합니다. 지금까지 그것은 모두 예상대로 작동합니다. 이제 ComboBoxList에서 다른 항목을 선택하면 Typewp는 공급자로 Loginwp를 잃어 버리므로 공급자가 삭제됩니다.

일부 디버깅 후에는 선택한 ComboBoxItem을 변경할 때 Typewp의 createchildControls ()가 호출되었음을 알아 냈습니다. 이 CreateChildControls에서 Loginwp 제공자가 예측하는지 확인합니다. 이 시점에서는 함수가 멈추지 않습니다. 다음 함수는 loginwp의 createChildControls이고 공급자가 찾고있는 프로 바이더를 만듭니다.

그래서 제 질문은 다음과 같습니다. ComboBox에서 선택한 항목을 확인할 때 Loginwp가 재생성을 방지하는 방법을 방지하거나 다른 위치에있는 티켓 변수를 저장할 수 있으므로 사용자가 페이지에있는 한 사용자가 사용할 수 있습니까?

도움이 되었습니까?

해결책

오류를 다시 추적하고 를 사용했습니다.

CreateChildControls()
.

OnPreRender()
.

함수가 잘못된 오류가 발생합니다.CreateChildControl 기능 내부의 공급자를 확인했습니다.그러나 공급자의 createchildControl 기능이 아직 호출되지 않았으므로 찾을 수 없습니다.수표 이동 및 변수 호출을 onPRerender로 해결했습니다.

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