2012-08-11 2 views
0

클라이언트 측 코드를 사용하여 Image 컨트롤의 이미지 URL을 설정하고 C# 코드를 사용하여 이미지를 서버에 저장하려고합니다. 여기에 내가 구현 한 것입니다 :asp 단추에 대한 클라이언트 및 서버 측 호출 문제

<asp:Button ID="btnImageUpload" OnClick="btnImageUpload_Click" runat="server" Text="Preview" CausesValidation="false" OnClientClick="Image_View();"/> 

C# 코드 :

protected void btnImageUpload_Click(object sender, EventArgs e) 
{ 
    if (Directory.Exists(@"C:\\Images")) 
     SaveImage_Server(); 
    else 
    { 
     Directory.CreateDirectory(@"C:\\Images"); 
     SaveImage_Server(); 
    } 
} 
    public void SaveImage_Server() 
    { 
     try 
     { 
      if (FlUpldImage.PostedFile.ContentLength > 0) 
      { 
       String fn = Convert.ToString(DateTime.Now) + Path.GetFileName(FlUpldImage.FileName); 
       if (fn.Contains('/')) 
       { 
        fn = fn.Replace("/", ""); 
       } 
       if (fn.Contains(':')) 
       { 
        fn = fn.Replace(":", ""); 
       } 
       if (fn.Contains(" ")) 
       { 
        fn = fn.Replace(" ", ""); 
       } 
       String Saved_ImagePath = @"C://Images/" + fn; // making the path with created dynamically folder name 
       FlUpldImage.SaveAs(Saved_ImagePath); 
       HidnLocalImageURL.Value = Saved_ImagePath; 

      } 
     } 
     catch (Exception re) 
     { 
     } 
    } 

자바 스크립트 이제

function Image_View() { 
//  __doPostBack('<%= btnImageUpload.ClientID %>', ''); 

//  var clickButton = document.getElementById("<%= btnImageUpload.ClientID %>"); 
//  clickButton.click() 

     var idFlUpload = '<%= FlUpldImage.ClientID %>'; 
     var fu1 = document.getElementById(idFlUpload); 
     var idImgCntrl = '<%= imgCorrect.ClientID %>'; 
     var ImgCntrl = document.getElementById(idImgCntrl); 

     alert("You selected " + fu1.value); 
     ImgCntrl.setAttribute('src', fu1.value); 
    } 

내 문제입니다 서버 측 코드는 페이지를 실행하면 새로 고침되고 JS를 사용하여 이미지 컨트롤로 설정된 링크가 기본값으로 재설정됩니다.

어떻게하면 이미지가 저장되고 이미지 URL 속성도 JS를 통해 설정되는 작업을 수행 할 수 있습니다.

이것을 구현하는 다른 방법이 있으면 알려 주시기 바랍니다. 미리 감사드립니다.

답변

0

서버에도 설정해야합니다. 당신은 클라이언트에 HTML

<input type="hidden" runat="server" id="hdnImageSrc" /> 

에서 mgCntrl.ImageUrl

을 설정하기 위해 URL을 얻을 수있는 URL을 저장하고 서버에 숨겨진 필드에 액세스 할 숨겨진 필드를 사용하여 자바 스크립트

hdnImageSrc = document.getElementById('<%= hdnImageSrc.ClientID %>'); 
mgCntrl.setAttribute('src', fu1.value); 
hdnImageSrc.value = fu1.value; 

서버 측 코드

mgCntrl.ImageUrl = hdnImageSrc.Value; 
관련 문제