2011-06-14 3 views
0

내 버튼 클릭이 처리되는 동안 "업로드 중 ..."이라는 라벨을 표시하는 방법이 있습니까?버튼 클릭 처리 중 레이블을 표시하는 방법은 무엇입니까?

나는이 방법

protected void btnUpload_Click(object sender, EventArgs e) 
{ 
    lblOutput.Text="uploading.."; 

    HttpPostedFile postedFile = FileUpload1.PostedFile; 
    string ClientFileName, ServerFileName; 

    if ((FileUpload1.HasFile && FileUpload1.PostedFile != null) || txtUrl.Text!="") 
    { 
     try 
     { 
      HttpPostedFile myFile = FileUpload1.PostedFile; 

      if (fileType == "Image") 
      { 
       if (fileExt == ".jpg" || fileExt == ".gif" || fileExt == ".png" || 
        fileExt == ".bmp" || fileExt == ".tif") 
       { 
        ServerFileName = System.IO.Path.Combine(ServerSavePathI, ClientFileName); 
        string serverPath = Server.MapPath(ServerFileName); 
        FileUpload1.SaveAs(serverPath); 
        dbInsert(fileType, fileName, fileExt, 
          filePath+fileType+"/"+fileName.Replace(" ",string.Empty)+fileExt, 
          url); 
       } 
      } 
     } 
    } 
} 

로하고 있습니다하지만 내 파일이 이미 업로드 한 후 보여 주었다.

내가 잘못했거나 다른 방법이 있습니까?

+0

아아 ......... 코드 서식 ??? – Aamir

+1

lblOutput.visible = false? 그냥 짐작하지 말아라. 위에서 말한 (읽기 어렵다) – Ruben

+2

아니, 현재 논리에서는 불가능하다. 가장 좋은 방법은 PostBack 대신 AJAX를 사용하는 것입니다. –

답변

1
<script type="text/javascript"> 
     function showMessage() { 
      document.getElementById("<%= lblOutput.ClientID %>").innerHTML = "uploading.."; 
     } 
    </script> 

<asp:FileUpload runat="server" ID="FileUpload1" /> 
    <asp:Button runat="server" ID="btnUpload" Text="Upload" OnClick="btnUpload_Click" OnClientClick="showMessage()" /> 
    <asp:Label runat="server" ID="lblOutput" /> 
+0

부모님을 포함하여 lblOutput의 마크 업 표시 –

+0

IE가 Firefox와 관련된 문제였습니다. –

+0

innerText를 innerHTML로 바꿉니다. –

0

lable가의 텍스트를 보여주는 우선 순위가 thread.You 사용하여 텍스트 변경 event.Hope 도움이 처리하는 또 다른 스레드를이 문제를 해결 할 수있는 업로드보다 낮습니다.

관련 문제