2013-02-01 3 views
-1

꽤 복잡한 형식을 수정하는 중입니다. 이 양식에는 여러 하위 양식이 있습니다. 원래 화신은 숨겨진 패널을 모두 만드는 것이 었습니다 (제 디자인, 수정하려고하는 것).UserControls가있는 중첩 FormView, 이벤트가 올바르게 실행되지 않음

내가 끝내고있는 것은 편집 모드가 일반적인 양식으로 구성되어 있고 하나의 하위 양식이있는 FormView입니다. 이제 ReadOnly 모드에서 하위 폼의 인덱스를 적절한 모드로 변경하고 편집 모드로 변경하는 콜백 편집 메서드에 연결된 ReadOnly 모드에있는 경우 하위 폼에 GridView가 표시됩니다. 이 모든 데이터는 SqlDataObjects를 통해 전달됩니다.

프로세스를 단순화하기 위해 하위 폼을 usercontrol에 넣었으며 기본 폼의 Edit 및 ReadOnly 부분에 사용자 정의 컨트롤을 포함 시켰습니다. 따라서 기본 폼이 ReadOnly 일 때, ReadOnly 인 그리드를 보여주는 기본 모드 인 usercontrol을 보여줍니다. 이 부분은 잘 작동합니다.

사용자가 편집 모드에서 기본 폼을 열면 하위 폼이 예상대로 그리드 모드로 표시됩니다 (편집 단추가있는 그리드의 열이 표시됨). 이것은 잘 작동합니다.

편집 단추를 클릭하고 양식을 편집 모드로 변경하면 모든 것이 예상대로 작동합니다. 하위 폼 (디버깅을 통해)으로 메인 폼을 통과하는 흐름이 예상대로 진행되는 것을 볼 수 있습니다.

이제 CommandButton이 설정된 간단한 LinkButton 인 업데이트 버튼을 클릭하면 콜백이 mainform의 데이터 바인딩을 건너 뛰는 하위 폼으로 이동하는 것을 볼 수 있습니다. - 또한 예상됩니다) 업데이트 호출이 결코 SqlDataObject에 렌더링되지 않습니다.

디버깅 목적으로 각 SqlDataObjects에 대해 OnUpdating/OnInserting/OnSelecting을 가지고 있으며 절대로 공격을받지 않습니다. 사용자 정의 컨트롤은 포스트 백 이후에 곧바로 ReadOnly 모드로 변경됩니다. 나는 그것이 데이터 바인딩 문제라고 생각하지 않는다.

중첩 된 양식 컨트롤로 본 사람이 있습니까? 특히 FormView에 네 스팅 된 UserControls가 FormView에 중첩되어 있습니까? 그것은 나타납니다

+0

시나리오에 더 큰 근본적인 문제가 mainform가 아닌 반면, 하위 폼, 그것은 다시 게시에 formviewmode 상태입니다 잃고 있다는 것을 표시했다 . -1 개의 덧글에 감사드립니다.여러 블로그에서 이와 비슷한 몇 가지 질문이있는 것으로 보이지만 전형적으로 일단 지식을 공유하면 지식을 공유하지 않는 것으로 나타납니다. –

답변

0

내가 전체의 UserControl을 삭제하고 바로 mainform 내부에 직접 하위 폼을 넣어,하지만 난 오히려 그것이 작동 할 때까지 그냥 놀러 적절한 해결책을 알고있는 것 수 없습니다 ... 중첩 된 formviews에서 콜백을 처리하려면 템플릿의 일부 임에도 불구하고 동적 컨트롤처럼 처리해야합니다. 자식 폼이 강제로 편집 모드에 있으면 (기본값으로 설정하여) 포스트 백을 예상대로 처리합니다. 기본 설정으로 남겨두면 예상대로 포스트 백을 처리하지 못합니다.

나는 약간의 샘플 코드를 제시하고 싶다. 그리고 나는 아마도 나중에 그렇게 할 것이다. (나는 1 분 안에 -1을 얻었을 것이라고 추측한다.) 그러나 아무런 기능이없는 것 같다. 중첩 된 양식 (어쨌든 작동하는 샘플)과 관련된 모든 위치의 샘플.

짧은 수정은 두 번째 양식을 첫 번째 범위 (그러나 여전히 동일한 사용자 정의 컨트롤 내에 있음)의 범위 밖으로 설정 한 다음 변경 감지에 대한 몇 가지 콜백을 수행하는 것이 었습니다. 그와

당신이 양식에서 양식과 B가있는 경우