2011-08-24 4 views
2

내용을 변경 한 updatepanel을 가지고 있고 updatepanel.update()를 호출하여 페이지의 해당 섹션을 비동기 적으로 업데이트하지만 나타나지는 않습니다 에서 업데이트를() 발사 코드 숨김 (즉, 비동기 포스트 돌아 가기 발생하지 않고 업데이트 된 콘텐츠를 표시하지 않습니다updatepanel.update()가 코드 숨김에서 실행되지 않는 것으로 나타납니다.

다음 스크립트 관리자는 MasterPage에 있습니다..

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePartialRendering="true" ></asp:ToolkitScriptManager> 

문제의 페이지는 다음과 같은 업데이트 패널을 가지고 있습니다 :

<asp:UpdatePanel ID="upImageConfirm" runat="server" UpdateMode="always"> 
    <ContentTemplate> 
     <div id="imageContainer"> 
      <asp:label ID="lblCheckPackshot" runat="server" Text="None" /> 
      <asp:button ID="btnLoadPackshot" runat="server" OnClick="uploadPackShot" Text="Upload &raquo;" /> 
     </div> 
    </ContentTemplate> 
</asp:UpdatePanel> 

다음 코드 숨김은 쫓겨 파일 업로드가 완료되면 실행 않고 값을 변경 않습니다이 코드를 디버깅 체크 (실행되지만 업데이트 해고가 없습니다 :

protected void uploadComplete(object sender, jaxControlToolkit.AsyncFileUploadEventArgs e) 
{ 
try 
{ 
      //upload file to web file system 
      if (afuStockImport.HasFile) 
      { 
       string strPath = Server.MapPath("~/graphics/holding/") + Path.GetFileName(afuStockImport.PostedFile.FileName); 
       Session["uploadedFileName"] = afuStockImport.PostedFile.FileName; 
       afuStockImport.SaveAs(strPath); 

       //Show on page for confirmation 
       lblCheckPackshot.Text = "<img src=\"/graphics/holding/" + Path.GetFileName(afuStockImport.PostedFile.FileName) + "\" />"; 
       upImageConfirm.Update(); 
      } 
     } 
} 

감사합니다!

+1

어디 코드 uploadComplete 업데이트 후 발사되도록 지정합니까? –

+0

ASP.NET AJAX Toolkit에서 AsyncFileUpload를 사용하므로 해당 컨트롤에 연결되어 있습니다. 그것은 화재가 - 디버그 모드에서 실행할 때 메서드 및 심지어 update() 호출을 단계별로 있지만 업데이트가 발생하지 않습니다. –

답변

1

이것은 ASP.NET AJAX Toolkit의 AsyncFileUpload와 관련된 동작입니다. 문제는 AsyncFileUpload가 iframe을 사용하여 비동기 업로드를 처리하므로 uploadComplete 이벤트를 발생시키는 "페이지"와 클라이언트 페이지가 평소와 같은 방식으로 연결되지 않는다는 것입니다.

이 문제를 해결하려면 OnClientUploadComplete 이벤트를 사용하여 javascript를 사용하여 비동기 게시를 트리거 한 다음 updatepanel을 업데이트하십시오. 이 작업을 수행하는 다른 방법이 많습니다 (some are not using an update panel).

+0

감사합니다. 이제는 의미가 있습니다. :) –

관련 문제