2014-01-29 4 views
1

탭 컨트롤, 몇 개의 단추 및 사용자 정의 컨트롤이있는 aspx 페이지가 있습니다.Asp.NET 사용자 정의 컨트롤 포스트 백 문제

<dx:TabPage Text="Worker Information" Name="tabWorker"> 
    <ContentCollection> 
     <dx:ContentControl runat="server" SupportsDisabledAttribute="True"> 
      <uc:WorkerInfo runat="server" OnWorkerLoaded="On_Worker_Loaded" OnWorkerUnloaded="On_Worker_Unloaded" /> 
     </dx:ContentControl> 
    </ContentCollection> 
</dx:TabPage> 

내가 문제없이 메인 aspx 페이지

protected void On_Worker_Loaded(object sender, EventArgs e) 
{ 
    btnNext.Enabled = true; 
} 

protected void On_Worker_Unloaded(object sender, EventArgs e) 
{ 
    btnNext.Enabled = false; 
} 

On_Worker_Loaded 이벤트가 발생에서 이벤트 핸들러를 가지고있는 사용자 컨트롤

public event EventHandler WorkerLoaded; 
public event EventHandler WorkerUnloaded; 

2 사용자 정의 이벤트가 있습니다. 디버깅 할 수 있고 버튼이 활성화 된 것을 볼 수 있습니다. 내 문제는 화면로드 버튼을 사용할 수없는 경우입니다.

<dx:ASPxButton ID="btnNext" runat="server" Text="Next" Theme="MetropolisBlue" 
       onclick="btnNext_Click" Enabled="false"></dx:ASPxButton> 

enter image description here '다음'버튼을

이미 비활성화되어 있습니다 : 내 aspx 페이지에서 나는 버튼을 해제합니다. 이것이 당신이 정말로 그것을 볼 수없는 이유입니다. 나는 그것을 검은 윤곽선으로 구성했다. 해당 확인 단추를 클릭하면 WorkerLoaded 이벤트가 발생합니다.

유일한 다른 비활성화는 On_Worker_Unloaded 이벤트 처리기에 있습니다. 나는 아직 연결하지 않았다. 버튼을 사용하지 않도록 설정하는 다른 방법은 없습니다. 내가 누락 된 어떤 아이디어?

감사합니다.

업데이트

사용자 정의 컨트롤에는 UpdatePanel이 있습니다. 나는 그것이 차이를 만들지 모르지만 나는 그것을 포함시킬 것이라고 생각했다. 다른 이상한 일이 일어났습니다. 버튼을 활성화 한 후에는 포스트 백을 수행하면 버튼이 활성화됩니다. 누구에게나 어떤 종을 부르는 것입니까?

답변

0

Enabled = false 속성을 설정하기 전에로드 된 이벤트가 호출 된 것 같습니다.

디버거에서 이벤트가 호출 될 때 Enabled 속성이 이미 false인지 확인하십시오.

또한 WorkerLoaded 이벤트가 트리거되는 이유는 무엇입니까?

+0

aspx 페이지가로드되기 전에 다른 작업이 수행됩니다. 페이지가로드되면 버튼이 이미 비활성화되어 있습니다. 사용자 정의 컨트롤에서 '확인'버튼을 클릭하면 WorkerLoaded 이벤트가 실행됩니다. 이벤트는 다음 단추를 사용 가능하게해야합니다. 내 게시물을 편집하고 스크린 샷을 추가합니다. –

+0

나는 명백한 어떤 것도 볼 수 없다. 아마도 예기치 않은 일이 페이지 수명주기에서 발생합니다. 디버깅하기 위해 이벤트 처리기에서 다른 값을 변경하고 클라이언트에서 다른 변경 사항이 표시되는지 확인합니다. –

+0

다른 버튼을 추가하고 사용하도록 설정했습니다. 단추의 텍스트를 변경하려고했는데 작동하지 않았습니다. WorkerLoaded 이벤트가 발생한 후 단추를 클릭하면 텍스트가 변경되어 btnNext가 활성화된다는 것을 알았습니다. 이 사실과 사용자 컨트롤의 버튼이 UpdatePanel에 우연히 일치합니까? 업데이트 패널이 문제와 관련이 있습니까? –

0

결국 나는 저를 위해 작동하는 해결책을 발견했습니다. 다음 버튼과 이전 버튼을 자체 업데이트 패널에 넣었습니다. 내가 이것을 한 후에 모든 것이 아무런 문제없이 일했다. 모든 아이디어와 도움에 감사드립니다.