2011-01-17 4 views
0

메소드 호출 기간의 시작과 끝 부분에 두 개의 asp.net 이미지 컨트롤 (runat = "server")의 가시성을 변경하고 싶습니다. 첫 번째 이미지가 표시되고 두 번째 이미지가 내 메서드의 마지막 줄까지 숨겨져 있고 두 번째 이미지가 표시되고 첫 번째 이미지가 숨겨지기를 원합니다. 트리거 컨트롤의 영역을 updatepanel에두고 updatepanel의 트리거를 선언했습니다. 그러나 컨트롤 (버튼)을 누르면 프로세스 마지막의 이미지가 올바르게 표시되지만 메서드의 첫 번째 줄에 표시되어야하는 이미지는 표시되지 않습니다. 나는 조건 업데이트 모드를 사용하도록 내 updatepanel을 구성한 내 의도에 대한이 라인을 사용하고 있습니다 : 모든 것이 하나 개의 요청에 발생하기 때문에ASP.net Ajax UpdatePanel 자식 컨트롤의 가시성 문제

imgLoading.Visible = true; 

    .. 
    rest of the process 
    .. 

    if (true) 
    { 
     imgLoading.Visible = false; 
     imgSuccess.Visible = true; 
    } 
+0

제 생각 엔 자바 스크립트에서 페이지로드가 코드를 실행하고 브라우저를 새로 고침하기 때문에 그렇게해야 할 것입니다. 즉, 서버가 페이지를 새로 고칠 때 첫 번째 이미지가 false로 다시 설정됩니다. – Andrew

+0

앤드류 씨께 감사드립니다. 다른 updaterpanel에 updatepanel을 내장하면 도움이 될까요? – Farshid

+0

트리거에 사용하는 컨트롤을 등록한 적이 있습니까 – mehul9595

답변

2

당신은 서버에서 이미지로드로 전환 할 수 있으므로 렌더링 무엇을하지 않습니다 끝까지 일어난다. 로딩 이미지가 visible true로 설정되었음을 결코 알 수 없습니다. 따라서 자바 스크립트를 사용할 수 있습니다.

또는 UpdatePanel을 사용하고 있으므로 UpdateProgress 컨트롤을 사용하십시오.이 컨트롤은 업데이트가 발생할 때 업데이트 패널 위에 무언가를 표시합니다. 이 컨트롤은 정확하게 이것을 의미합니다. http://weblogs.asp.net/stoianbucovich/archive/2008/01/30/asp-net-2-0-ajax-update-panel-and-update-progress.aspx

HTH :

이를 참조하십시오.

+0

브라이언 씨 감사합니다. 당신은 진정한 해결책을 지적했습니다. 단 하나의 요청이며 대신 updateprogress를 사용했습니다. – Farshid