2013-07-04 5 views
0

을 다운로드 한 후 나는 목록을 가지고 다운로드 드롭 다운을 옵션 하나 변경 드롭 다운 인덱스 파일

사용자가 다운로드 옵션을 선택 이제까지 내가 파일을 다운로드 응답을 사용하고 있습니다. 파일을 다운로드 한 후 드롭 다운 목록 색인을 0으로 변경하려고합니다. 파일을 다운로드 한 후 드롭 다운의 선택된 색인을 0으로 설정하여 시도했습니다. 그러나 그것은 전혀 깨지 않습니다. 파일을 다운로드 한 후에 다시 게시가 발생하면 다시 드롭 다운 목록에서 옵션을 자동으로 다운로드하십시오.

다운로드 옵션을 선택한 경우 다음 방법을 호출합니다.

protected void downloadfile() 
{ 
     Response.Clear(); 
     Response.Buffer = false; 
     Response.AddHeader("Accept-Ranges", "bytes"); 
     Response.ContentType = "application/octet-stream"; 
     Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); 
     Response.AddHeader("Connection", "Keep-Alive"); 
     Response.OutputStream.Write(buffer, 0, bytesRead); 
     Response.Flush(); 
} 

이 문제를 해결하기 위해 제안을 공유하세요

....

+0

약간의 코드가 다른 사람들을위한 출발점으로 좋을 것입니다. – mbm

+0

먼저 파일 다운로드가 완료된 것을 확실하게 파악해야한다고 생각합니다. 내가 아는 한 거기에 파일을 성공적으로 다운로드하는 경우, 쿠키 및 일부 자바 스크립트를 사용하여 주위에 작업을 할 수있는 그런 이벤트는 알지만 작동하지 않을지 잘 모르겠습니다. –

답변

0

나는 Iframe을 사용하여이 문제를 해결.

즉시 옵션 드롭 다운 메뉴에서 선택한 다운로드로, 나는 다음과 같은 서버 측에서 자바 스크립트 함수 DownloadFile()를 호출 오전 :

다음
protected void ddlSelectedAction_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    ScriptManager.RegisterStartupScript(this.Page, GetType(), "download", "DownloadFile();", true); 

    // We can do what ever we want, You can redirect to another page or anything you want 
    //Here I am changing the ddlSelectedAction selected index to 0 
    ddlSelectedAction.SelectedIndex = 0; 

} 

가 자바 스크립트 함수이다 위의 함수에서

DownloadFile() 
{ 

    var filename= $get("Filename").value; 

    // Point the IFRAME to GenerateFile, with the 
    // desired region as a querystring argument. 
    iframe.src = "GenerateFile.ashx?fname=" + filename; 

    // This makes the IFRAME invisible to the user. 
    iframe.style.display = "none"; 

    // Add the IFRAME to the page. This will trigger 
    // a request to GenerateFile now. 
    document.body.appendChild(iframe); 
} 

이 나는 ​​소스가 handlerfile (GenerateFile.ashx) 그리고 당신이 전달할 수있는 쿼리 문자열이 될 것이다하는 Iframe에를 만드는이 있어요 파일 이름, 파일 경로 등을 다운로드하는 데 다시 사용됩니다. 핸들러 파일의 pageload에서 파일을 다운로드하기위한 코드를 작성하고 있습니다. 이제 파일을 다운로드 한 후 원하는 작업을 수행 할 수 있습니다.

관련 문제