2010-06-11 4 views
0

우리는 그 안에 PDF가있는 .NET aspx 페이지를 만들려고합니다. 이것을 하드 코드로 작성하는 것은 쉽습니다.내 PDF 요청에 요청을 사용할 수없는 이유는 무엇입니까?

<object height="1250px" width="100%" type="application/pdf" data="our.pdf"> 
    <param value="our.pdf" name="src" /> 
    <param value="transparent" name="wmode" /> 
</object> 

(투명 일에 대해 너무 많은 ... 우리가 다른 이유로 그 일을하고 걱정 ...하지만 난 "단지의 경우"여기에 포함되지 않습니다.)

문제 PDF를 동적으로 생성하려고 할 때입니다. 프런트 엔드에 리터럴을 채우는 코드는 다음과 같습니다.

ltrPDF.Text = String.Format("<object height=\"1250px\" width=\"100%\" type=\"application/pdf\" data=\"ourPdfGenerator.aspx?var0={0}&var1={1}&var2={2}\">", var0, var1, var2); 
ltrPDF.Text += String.Format("<param value=\"ourPdfGenerator.aspx?var0={0}&var1={1}&var2={2}\">", var0, var1, var2); 
ltrPDF.Text += "<param value=\"transparent\" name=\"wmode\"/>"; 
ltrPDF.Text += "</object>"; 

종류가 틀리지 만 제대로 작동해야합니다. 그러나 그렇지 않습니다.

디버깅하고 ourPdfGenerator.aspx.cs Page_Load 메서드의 첫 번째 줄에 중단 점을 넣을 때 아무런 문제없이 중단 점에 도달합니다. 즉시 HttpException 발생

string var0 = Request.QueryString["var0"]; 

: 그러나, 우리가 할 첫번째 일은 Request.QueryString을 사용하려고 할 것입니다. "요청이 컨텍스트에서 사용할 수 없습니다를" 명확하지 않습니다.

  • 왜 사용할 수 없습니까?
  • 어떻게해야합니까?

EDIT : (제쳐두고, aspx 페이지에서 MIME 유형의 pdf를 요청하는 것이 이상하게 보입니다 ...하지만 CSP 페이지를 생성하기 위해 aspx 페이지를 사용했습니다. ... 우리는 다음과 같이 수행

Response.Clear(); 
Response.ContentType = "application/pdf"; 
Response.AddHeader("Content-Disposition", "attachment;filename=\"our.pdf\""); 
using (MemoryStream pdfStream = new MemoryStream()) 
{ 
    ourSpecialPdfGenerator.ExportToPdf(pdfStream); 
    Response.BinaryWrite(pdfStream.ToArray()); 
} 
Response.End(); 

을 그리고 이것은 잠시 동안 다른 상황에서 잘 작동하고있다 ...하지만 항상 우리가 지금 다른하는 일은이 페이지를하는 대신 자사의 자신의 페이지로. 직접 호출 했으므로이 코드를 임베드하려고 시도 했으므로 문제가되는 <object> 태그에서 호출되었습니다.

답변

1

오류는 ourPdfGenerator.aspx.cs입니다. object 태그는 문제가 없습니다. ourPdfGenerator.aspx.cs에 코드를 게시 할 수 있습니까?

+0

좋아, 나는 네가 옳을 수도 있다고 생각한다. 나는 어리석은 짓을했을 것이다. – Beska

+0

그게 전부 야. 나는 기괴한 이론에 너무 매달려서 명백한 것을 확인했다. 나는 Request.QueryString 물건을 Page_Load보다는 페이지 생성자에 넣었다. (doh!) 내가 명백한 것을 찾고 있지 않을 정도로 나는 이상한 것들에 정신이 산만했다. – Beska

관련 문제