2014-02-27 1 views
4
 <asp:UpdatePanel ID="Upnl1" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
     <table width="100%"><tr> 
          <td align="center" colspan="3"> 
           <asp:Button ID="btnShowReport" runat="server" CssClass="ButtonClassLong" SkinID="LargeButton" 
            Text="Show Report" OnClick="btnShowReport_Click" TabIndex="15" /> 
           <asp:Button ID="btnClear" runat="server" CssClass="ButtonClass" Text="Clear" OnClick="btn_Click" 
            TabIndex="16" /> 
           <asp:Button ID="btnClose" runat="server" CssClass="ButtonClass" OnClick="btnClose_Click" 
            Text="Close" CausesValidation="False" TabIndex="17" /> 
           <asp:CheckBox ID="ChkPrint" Text="Print View" runat="server" TabIndex="14" /> 
          </td> 
         </tr> 
        </table></ContentTemplate> 
<Triggers> 
    <asp:PostBackTrigger ControlID="btnShowReport" /> 
</Triggers></asp:UpdatePanel><asp:UpdateProgress ID="UpdateProgress" runat="server"> 
      <ProgressTemplate> 
       <asp:Image ID="Image1" ImageUrl="~/App_Themes/RIBO/Images/Progress.gif" AlternateText="Processing" 
        runat="server" /> 
      </ProgressTemplate> 
     </asp:UpdateProgress> 

이것은 내 코딩입니다. 제 버튼을 클릭하면 제대로 작동합니다. btnShowReport를 클릭하면 작동하지 않습니다.트리거 프로퍼티에있는 버튼에 대해 UpdateProgress가 작동하지 않습니다.

트리거 속성 내부에있는 버튼 클릭 이벤트의 업데이트 진행 상황을 보여주는 방법입니다.

+0

'btnShowReport'클릭시 동기식 포스트 백이 필요합니까? –

+0

btnShowReport를 클릭하면 UpdateProgress가 표시됩니다. ... – Singaravelan

+0

http://stackoverflow.com/a/6451745/360171 –

답변

5

문제는 AssociatedUpdatePanelID입니다. 당신은 UpdateProgress 컨트롤이 있는지 여부에 따라 를 표시하거나 숨길되는 요소를 렌더링 UpdateProgress

<asp:UpdateProgress ID="UpdateProgress" runat="server" AssociatedUpdatePanelID="Upnl1"> 

으로

MSDN 당에 'UpdateProgress`의

세트를 Associateid을 설정 havn't는 연결된 UpdatePanel 컨트롤이 비동기 포스트 백을 발생 시켰습니다. 초기 페이지 렌더링 및 동기 포스트 백의 경우 UpdateProgress 컨트롤이 표시되지 않습니다.

편집 :

이유는 전체 페이지 포스트 백을 발생합니다

<asp:PostBackTrigger ControlID="btnShowReport" />

입니다. ... 당신은 당신의 Trigger

<asp:AsyncPostBackTrigger ControlID="btnShowReport" /> 

을 변경해야합니다 그리고 당신은 당신이 너무 스스로를 해결할 수있을 것 인용 된 문장을 읽고 수 있다면 ... 당신을 위해 일을 할 것입니다

+0

속성 AssociatedUpdatePanelID = "Upnl1"을 설정했지만 작동하지 않습니다 (업데이트 진행 상태가 표시되지 않음). ... – Singaravelan

+0

그럼'PostBackTrigger' .. 내 답변 확인을 수정했습니다. –

+0

'async'를 사용하면 프론트 엔드 (fileupload 컨트롤 파일명)에서 선택된 것이 코드 숨김으로 보내지지 않습니다 ... – Si8

1

This is working for me, I hope this will helpful for some

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
<title>Show Loading Image while uploading images using updatepanel</title> 
<style type="text/css"> 
.overlay 
{ 
position: fixed; 
z-index: 999; 
height: 100%; 
width: 100%; 
top: 0; 
background-color: Black; 
filter: alpha(opacity=60); 
opacity: 0.6; 
-moz-opacity: 0.8; 
} 
</style> 
<script type="text/javascript"> 
function showProgress() { 
var updateProgress = $get("<%= UpdateProgress.ClientID %>"); 
updateProgress.style.display = "block"; 
} 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:ScriptManager ID="scriptmanager1" runat="server"></asp:ScriptManager> 
<asp:UpdatePanel runat="server" ID="updatepanel1" UpdateMode="Conditional"> 
<ContentTemplate> 
<div style="align:center; margin-left:350px; margin-top:200px"> 
<asp:FileUpload ID="uploadfiles1" runat="server" /> 
<asp:Button ID="btnUpload" Text="Upload" runat="server" onclick="btnUpload_Click" OnClientClick="showProgress()" /><br /> 
<asp:Label ID="lblMsg" runat="server"/> 
</div> 
</ContentTemplate> 
<Triggers> 
<asp:PostBackTrigger ControlID="btnUpload" /> 
</Triggers> 
</asp:UpdatePanel> 
<asp:UpdateProgress ID="UpdateProgress" runat="server" AssociatedUpdatePanelID="updatepanel1"> 
<ProgressTemplate> 
<div class="overlay"> 
<div style=" z-index: 1000; margin-left: 350px;margin-top:200px;opacity: 1;-moz-opacity: 1;"> 
<img alt="" src="loading.gif" /> 
</div> 
</div> 
</ProgressTemplate> 
</asp:UpdateProgress> 
</form> 
</body> 
</html> 
+0

후손을 위해, 당신이 당신의 대답에 유용하다고 생각되는 링크의 관련 부분을 포함시킬 수 있습니까? 그렇게하면 링크가 끊어 지거나 바뀌면 답이 쓸모 없게되지 않습니다. 많은 감사합니다. –

+1

네, 맞습니다. – Singaravelan

관련 문제