2012-04-03 2 views
2

AJAX 비동기 파일 업로드를 사용하여 사용자 이미지를 추가하고 있습니까? 비동기 업로드가 완료되면 이미지를 업데이트하고 싶습니다. 이 작업을 수행하는 코드에서 upImage.Update()를 사용하고 있지만 업데이트를 수행하지 않는 것 같습니다.UpdatePanel이 업데이트되지 않습니다.

모든 코드가 오류없이 실행되며 JS 콘솔에 오류가 없습니다. 어떤 도움을 주시면 감사하겠습니다! 감사.

영문 파일 : 잘못된 이미지 URL을 가지고 같은

<h2>That's You 
     <ajax:AsyncFileUpload ID="afuUserImage" runat="server" 
      OnUploadedComplete="uploadComplete" 
      UploadedFileError="uploadError"    
      Width="200px" 
      UploadingBackColor="#b9b9b9" 
      CompleteBackColor="#00FF00" 
      ErrorBackColor="#FF0000" 
      ThrobberID="theLoader" 
      ClientIDMode="AutoID" 
      CssClass="" /> 
    </h2> 
    <div id="userSettingsImage" runat="server" class="userSettingsImage"> 
     <asp:updatepanel ID="upImage" runat="server" UpdateMode="conditional" ChildrenAsTriggers="false" > 
      <ContentTemplate> 
       <asp:Image ID="imgUser" runat="server" ImageUrl="~/graphics/blankuser.jpg" /> 
      </ContentTemplate> 
     </asp:updatepanel>  
    </div> 

그리고 뒤에있는 코드 ....

protected void uploadComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) 
    { 
     try 
     { 
      // change photo in space and upload to user photo 
      if (afuUserImage.HasFile) 
      { 

       string strPath = Server.MapPath("~/users/" + this.Context.User.Identity.Name + "/userimages/" + this.Context.User.Identity.Name + ".jpg"); 
       if (File.Exists(strPath)) 
       { 
        File.Delete(strPath); 
       } 
       afuUserImage.SaveAs(strPath); 
       imgUser.ImageUrl = imgUser.ImageUrl + "?new" + String.Format("{0:ddMMyyyy}", DateTime.Now); 
       upImage.Update(); 
       Lifeklips_Global.eComms.showMessage("All done!"); 
      } 
      else 
      { 
       Lifeklips_Global.eComms.showMessage("Oops! This is embarrassing. Your update didn't work, but we're looking into it. Give it another go.");      
      } 

     } 
     catch (Exception ex) 
     { 
      Lifeklips_Global.errorProcess.logError("Error uploading file: " + ex.Message, "Lifeklips.UserControls.singlephotouploader:uploadComplete"); 
     } 
    } 
+0

[이미지 태그가 UpdatePannel에서 업데이트되지 않음] (http://stackoverflow.com/questions/9995399/image-tag-not-updating-inside-the-updatepannel) – Pankaj

답변

0

imgUser.ImageUrl = imgUser.ImageUrl + "?new" + String.Format("{0:ddMMyyyy}", DateTime.Now); 

될해야 보이는

imgUser.ImageUrl = "~/users/" + this.Context.User.Identity.Name + "/userimages/" + this.Context.User.Identity.Name + ".jpg?new" + String.Format("{0:ddMMyyyy}", DateTime.Now); 
+0

그게 imgUser를 사용하는 이유입니다. .ImageURL –

+0

처음에는 ~/graphics/blankuser.jpg처럼 보입니다. –

관련 문제