2016-07-27 3 views
0

다운로드 할 파일을 보낸 후 내 aspx 페이지에서 업데이트하고 싶습니다. (일부 오류 메시지는 이전에 표시됨). 나는 그것이 가능하지 않다고 믿지만, 나에게 해결책을 제공해 줄 수 있겠는가?다운로드 할 파일을 보낸 후 메시지 표시

Response.ContentType = "Application/zip"; 
    Response.AddHeader("Content-Disposition", "attachment; filename=" + e.CommandArgument); 
    Response.BinaryWrite(fileStream.ToArray()); 
    Response.Flush(); 
    Response.Close(); 
    Response.End(); 

편집이 명확히하기 : 여기

는 다운로드 할 파일을 전송하는 코드 나 또한 논리적 인 해결책이 없다고 생각합니다. 그러나 내가 알지 못하는 자바 스크립트 트릭이있을 수 있습니다.

+1

Response.Write ("파일을 보냈습니다"); –

+1

@inquisitive_mind 그는 이미 파일에 대한 응답을 쓰고 있습니다. 그가 의미하는 바는 그가 페이지를 업데이트하기를 원한다는 것입니다. 그는 파일과 업데이트 된 페이지에 동시에 응답 할 수 없습니다. – derloopkat

+1

자바 스크립트를 사용하고, Ajax 호출을하고, 성공 함수에서 페이지를 업데이트해야합니다. – derloopkat

답변

1

그건 내가 상상할 수있는 가장 간단한 방법입니다. 이 파일이 브라우저에 표시됩니다 발견되지 않는 경우 "을 (를) 찾을 수 없습니다"그냥 링크 이래로 나는

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(Request["download"]=="1") 
    { 
     try 
     { 
      Response.ContentType = "html/text"; 
      Response.AddHeader("Content-Disposition", "attachment; filename=file.txt"); 
      Response.Write("content of the file"); 
      Response.Flush(); 
      Response.Close(); 
      Response.End(); 
     } 
     catch (Exception) 
     { 
      //An error occurred 
      Response.Redirect("Error.aspx"); 
     } 
    } 
} 

이 뒤에 내 코드에서

<a href="Default.aspx?download=1" 
    onclick="javascript:document.write('the file was downloaded');" > 
    Click here to Download 
</a> 

. 서버 쪽에서 오류가 발생하면 오류 페이지로 리디렉션합니다. 더 정교한 솔루션을 원한다면 XMLHttpRequest를 사용하는 것이 좋습니다.

+0

감사합니다. 좋은 해결책입니다. 내 단추는 사실 asp.net 단추입니다. 솔직히 말해서 이전에 표시된 일부 오류 메시지를 제거하고 싶습니다. 나는 혼란스러운 세부 사항을 추가하고 싶지 않았습니다. 게시물을 다시 수정하여 광고를 추가합니다. –

+1

asp 버튼에는 OnClientClick이라는 속성이 있습니다. 거기에 자바 스크립트를 넣을 수 있습니다. – derloopkat

관련 문제