2013-07-30 1 views
0

이미지를 바꾸는 데 매우 이상한 문제가 발생합니다 (화면 캡처를 참조하십시오) 위로/아래로 단추를 클릭하면 두 이미지의 이름을 바꿔서 이름을 바꿉니다. enter image description hereC#에서 파일 이름 바꾸기 문제가 발생했습니다.

처음 두 번 3 번 완벽하게 작동하지만이 과정을 반복하면 브라우저에서 이미지가 변경되지 않습니다.

추가 조사를 통해 내 코드가 완벽하게 작동하지만 브라우저에서 이미지를 캐싱하고있는 이유가 자신의 위치를 ​​변경하지 않는다는 것을 발견했습니다.

내가 CTRL + F5를 누를 때 나는 변경된 이미지를 참조하거나 내가 다른 페이지로 이동하고 다시 같은 페이지에 온다면 난 다시 이미지의 올바른 순서를 볼 수 있지만, 같은 페이지에 일어날 does'nt :(

?

하나는 내가이 문제를 해결할 수 있습니다 어떻게에 대한 몇 가지 빛을 넣을 수 있습니다

코드 교환의 :

protected void rptImages_ItemCommand(object source, RepeaterCommandEventArgs e) 
     { 
      int id = Convert.ToInt32(Request.QueryString["Id"]); 
      String path = Server.MapPath(e.CommandArgument.ToString()); 
      if (e.CommandName == "Up") 
      { 

       SwapImagesOnUpClick(id, path); 
      } 

      if (e.CommandName == "Down") 
      { 

       SwapImagesOnDownClick(id, path); 

      } 
} 

public void SwapImagesOnUpClick(int id, string path) 
     { 
       string oldFileName; 
       string newFileName; 
       string tempFileName; 

       string basicPath = path.Substring(0, path.LastIndexOf('\\')); 
       oldFileName = path.Substring(path.LastIndexOf('\\') + 1); 
       tempFileName = "temp.jpg"; 


       //get new filename 
       string[] fileParts = oldFileName.Split('.'); 
       newFileName = (Convert.ToInt32(fileParts[0]) - 1).ToString(); 

       string newFilePath = basicPath + "\\" + newFileName + ".jpg"; 
       string tempFilePath = basicPath + "\\" + tempFileName; 

       // set already existing newfilename to temp 
       File.Move(newFilePath, tempFilePath); 
       File.Move(path, newFilePath); 
       File.Move(tempFilePath, path); 






     } 
+0

파일의 이름을 바꾸는 대신 생성 된 페이지에서 image1의 위치를 ​​image2로 변경할 수 있습니까? –

답변

0

의 이름을 변경하는 것은 누군가가 내 그냥 추가로 비슷한 상황에 직면해야하는 경우 : "를 타임 스탬프는"이미지가 늘 캐시받을 모든 것이 완벽하게 작동이 방법으로 이미지 SRC의 는 달성 할 아래 이미지 기능 사용하기 아약스.

0

난 당신이 생성 된 내부 위치 이미지 2에 image1에의 위치를 ​​변경하는 것이 좋습니다 대신에 페이지 파일