2012-07-26 9 views
0

누구든지이 문제가 발생하는지 확실하지 않습니다. 다음은 문제를 재현하기위한 단계입니다.내보내기 후 모히 베크 문자가 표시됩니다.

단계 : 1. 목록 -> 연락 담당자 페이지로 이동하십시오. 2. "내보내기"버튼을 클릭하여 담당자 목록에 대한 .XLS 보고서를 생성하십시오. 3. .XLS 보고서를 닫고 다른 페이지로 이동하십시오. 연락처 목록. 4. 연락처 목록에서 "담당자"목록 페이지로 다시 보내려면 "닫기"단추를 클릭하십시오.

예상 : - 페이지에 연락처 목록 페이지가 표시됩니다.

실제 : - mojabaki 문자가 포함 된 이상한 페이지가 표시됩니다.

개인 정적 무효 PushContentToHttp (ActiveReport 보고서, MemoryStream을 MSDATA, 문자열 파일 이름, 문자열 URL) {

: URL을 여기 http://i.imgur.com/dIsZc.png

에서 이미지를 참조하시기 바랍니다 활성 보고서를 사용하여 Excel을 생성하는 코드는

 report.Run(); 
     XlsExport xls = new XlsExport(); 
     xls.DisplayGridLines = true; 
     xls.AutoRowHeight = true; 
     xls.Export(report.Document, msData); 

     HttpContext.Current.Response.Clear(); 
     HttpContext.Current.Response.ClearContent(); 
     HttpContext.Current.Response.ClearHeaders(); 
     HttpContext.Current.Response.Buffer = true; 

     HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; 
     HttpContext.Current.Response.AddHeader("Content-Length", msData.Length.ToString()); 
     HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename= \"" + fileName + ".xls\""); 
     HttpContext.Current.Response.AddHeader("Refresh", "3; url=" + url); 
     HttpContext.Current.Response.Charset = "utf-8"; 
     HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding(1252); 
     //HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1250"); 
     HttpContext.Current.Response.BinaryWrite(msData.ToArray()); 
     HttpContext.Current.Response.End(); 
//  HttpContext.Current.Response.Redirect(url,true); 

    } 

도움이 될 것입니다! 정말 고맙습니다! :)

답변

0

실제로,이 원인을 무엇을, 당신의 페이지를 다시 브라우저 캐시 엑셀 페이지로 리디렉션 시도합니다입니다 :

이 관련 SO 질문을 참조하십시오. 내가 제안 할 수있는 것은 캐시 된 Excel 페이지를로드하는 대신 이전 페이지가 완전히로드되도록 브라우저를 다시 수행하는 대신 완전한 리디렉션을 수행하는 것입니다. ANSI와 아무런 관련이 없습니다. 단, 잘못된 리디렉션 문제 일뿐입니다.