다음과 같은 문제점이 있습니다.ASP.NET ProcessPostData의 첫 번째 시도 안 함
우리는 우리의 프레임 워크에서 IsMustField라는 속성을 가진 몇 개의 webcontrol을 가지고 있습니다. 이 속성을 설정하면 CreateChildControls 메서드가 일부 CSS를 변경하고 JS Validator를 컨트롤에 추가합니다. 여태까지는 그런대로 잘됐다. 이제 slighlty 제네릭 컨트롤을 구현하려고합니다. 한 가지 경우에는 텍스트 필드가 필수 항목이지만 다른 항목에서는 사용할 수없는 항목이 있습니다. 필드가 필수 필드 인 경우 결정은 컨트롤의 OnLoad 메서드에서 수행됩니다.
처음 페이지를 열면 모든 것이 정상입니다. 저장을 누르고 페이지 다시 게시가 완료되면 페이지가로드됩니다. IsMustField 필드의 초기 값은 ascx의 값으로 설정됩니다 (이 경우 true). 그런 다음 처음으로 ProcessPostData를 호출합니다. 이것은 EnsureChildControls 메서드를 호출하고 따라서 컨트롤의 CreateChildControls 메서드를 호출합니다. CSS와 JS Validator가이 메서드에 연결되어 있으므로 컨트롤이 필수 필드 인 것처럼 추가됩니다. 이후에 제네릭 컨트롤의 OnLoad 메서드가 호출되고 IsMustField가 false로 설정됩니다. 그러나 이미 CreateChildControls 메서드를 호출 했으므로 더 이상 원하는 효과가 없습니다.
이제 내 질문에 : 어떻게 든 ProcessPostData 먼저 시도하고 두 번째 호출 할 수 있도록, 제네릭 컨트롤 IsMustField false로 설정 한 후 컨트롤을로드 할 수 있습니까? 아니면 다른 솔루션을 검색해야합니까? 이 Btw은 : 사람이 나에게
안부 도움이 될 수 있습니다 내가 구현이 아주 엉터리 알고 ...하지만 난 프레임 워크를 변경하지 않아야합니다, 그래서 다른 선택의 여지가 :
내가 당신을 희망이 없다, 는
을 crazy_crank
ProcessPostData는 어떤 이벤트가 호출 되었습니까? – TheGeekYouNeed
ProcessPostData는 이벤트 자체이지만 확실하지는 않습니다. 첫 시도는 Page_Load 바로 직전에 호출됩니다. 두 번째는 Page_Load 바로 뒤에 시도합니다. –