asp.net codebehind自动文件在框架中打开

时间:2014-11-18 08:17:40

标签: asp.net

我想打开一个PDF文件,但是当代码运行时,我会得到一个空的新网页。 这是我在自动编码后的新窗口中打开de pdf的代码

 Page.ClientScript.RegisterStartupScript(this.GetType(), 
 "OpenWin", "<script>window.open('" + pdfPath + "')</script>");

新窗口网址:about:blank

任何人都可以帮我解决这个问题吗? THX

3 个答案:

答案 0 :(得分:0)

可能是您的浏览器无法识别要运行的脚本类型,或者pdfPath未传递给该方法。您可以先构建脚本文字然后打印它,以确保传递正确的值吗?

另外,也许应该是:

Page.ClientScript.RegisterStartupScript(this.GetType(), 
"OpenWin", "<script type=text/javascript>window.open('" + pdfPath + "')</script>");

编辑:问题可能是您尝试加载的文件的地址引用本地文件系统而不是相对于Web服务器。尝试在Web应用程序的目录中公开它(以便它在本地域上,就IIS而言)并以这种方式加载它?

答案 1 :(得分:0)

您需要在Web应用程序中提供 pdf 文件。您应该将pdfPath替换为pdfUrl,以便生成的HTML与此类似:

<script type=text/javascript>window.open('/folder/BarcodeReport.pdf')</script>

/folder/BarcodeReport.pdf是应用的绝对路径(例如:http://yourapp.com/folder/BarcodeReport.pdf)或相对路径folder/BarcodeReport.pdf

答案 2 :(得分:0)

尝试在c#

中使用ResolveUrl
<script type=text/javascript>window.open(ResolveUrl('~/folder/BarcodeReport.pdf'))</script>