2010-02-04 53 views
0

我在ASP.NET应用程序中向用户提供PDF文件。我已经包含了我正在使用的代码。如果这是我对该请求做的唯一事情,这很好。我真正想做的是在Form Load上提供这个PDF文件,而不会影响Form Load事件中的其他任何东西。有人可以指出我在代码中做错了什么吗?谢谢!!在不停止请求的情况下在ASP.NET中显示PDF文件

Response.Clear(); 
Response.Buffer = true; 
Response.ContentType = file.ContentType; 
Response.AddHeader("content-disposition", String.Format("attachment; filename=\"{0}\"", file.OriginalFileName)); 
Response.TransmitFile(Path.Combine("C:\", file.FileName)); 
Response.End(); 
+0

你能改述一下,因为我不明白你在问什么: “我真正想做的是show在Form Load上提供这个PDF文件,而不会影响其他任何东西表单加载事件“。 – IrishChieftain 2010-02-08 23:00:51

回答

1

如上所述,我可能会使用一个单独的页面,也不使用标准的asp.net管道,可以考虑使用定制的httphandler来代替pdf,也可以使用Phil Haack的template来让你开始。

1

Response.End()将抛出一个ThreadAbortException并没有别的东西会执行。从字面上看,结束页面输出。

我建议您创建另一个页面来生成您的PDF文件;如果你需要发送参数,你可以通过查询字符串发送它们。

1

您需要一个单独的页面来下载PDF。

您可以在表单提交后(使用javascript,元刷新,iframe等)调用PDF生成页面。效果将是表单帖子,并做任何事情,然后PDF下载框将出现。

+0

但是页面会显示吗?你能给一个代码示例吗? – 2010-02-04 01:06:18

相关问题