우리는 그 안에 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>
태그에서 호출되었습니다.
좋아, 나는 네가 옳을 수도 있다고 생각한다. 나는 어리석은 짓을했을 것이다. – Beska
그게 전부 야. 나는 기괴한 이론에 너무 매달려서 명백한 것을 확인했다. 나는 Request.QueryString 물건을 Page_Load보다는 페이지 생성자에 넣었다. (doh!) 내가 명백한 것을 찾고 있지 않을 정도로 나는 이상한 것들에 정신이 산만했다. – Beska