2011-08-12 11 views
1

단추를 클릭 할 때 보고서를 Excel 파일로 내보내는 중입니다. 사용자가 버튼을 클릭하면 "보고서가 생성 중입니다 .."라는 메시지가 표시됩니다. 보고서를 생성 한 후 메시지를 숨기고 싶습니다. 그러나 나는 Response.End()을 사용하고있어 메시지는 숨어 있지 않습니다. 누구든지 Response.End() 후에 서버 측 또는 자바 스크립트 코드를 호출하는 방법을 알려주거나 다른 방법을 제안 할 수 있습니까?Response.End() 뒤에 레이블 텍스트 변경

+0

한 번 같은 문제가있었습니다. 솔루션을 찾을 수 없습니다. – gsharp

답변

3

보통이 경우 브라우저는 파일을 저장하거나 열거 나 만들 것을 제안하므로 데이터 스트림 만 포함하는 두 번째 페이지의 팝업을 엽니 다.

이 작업은 다른 응답 개체에서 수행되므로 응답을 닫거나 종료하는 문제없이 주 응답 개체를 제어 할 수 있습니다.

몇 가지 코드를 보여주고 지금 어떻게하고 있는지 보도록하겠습니다.

+0

같은 페이지에 다음과 같은 페이지가있는 몇 가지 해결책을 제안 할 수 있다면 그것을하고 싶습니다. –

1

ajax를 사용하십시오.

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 
+0

u pls이 예제에서 아약스를 사용하는 방법을 보여줄 수 있습니까? 아약스를 사용한 적이 없습니다. 그것은 큰 도움이 될 것입니다. –

0

Davide의 솔루션과 유사합니다. 우리는 새로운 페이지를 열어 이것을 풀었다.

Report.aspx라는 하나의 페이지가 있다고 가정하면 'excel to excel'버튼이 나타납니다. 어떤 이유로, 당신은 정적 방법으로 그 기능을 추출 할 수없는 경우, 당신은이 작업을 수행 할 수 있습니다

  1. 만들 : 수출에 사용자가 클릭 버튼을 능가하는 페이지에

    , 너비/높이가있는 iframe : 1px/1px

  2. Report.aspx의 page.load 또는 page.prerender에
  3. 의 보고서를 생성하는 데 필요한 모든 매개 변수를 전달하는 것 외에는 페이지에 URL을 설정합니다. 매개 변수를 사용하여 보고서를 실행하고 스트림에서 추출하십시오.

이렇게하면 페이지가 계속 살아납니다.