当网页位于iFrame内时下载文件

时间:2014-02-25 07:42:03

标签: c# asp.net

我有一个带有iFrame的母版页面。

Tickets.aspx有这位大师。 General.aspx没有任何主人并加载iFrame。 这两个页面都有下载文件的按钮。 从General.aspx下载文件时,会显示此错误。

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.

General.aspx.cs:

protected void View (object sender, CommandEventArgs e)
{
 string sFile = "~/Attachments/"+(e.CommandArgument.ToString());

 if(File.Exists(Server.MapPath(sFile)))
  {
   Response.Redirect("/Forms/DownloadFile.aspx?file="+sFile); //ERROR HERE
  }
}

DownloadFile.aspx.cs:

protected void Page_Load(object sender, EventArgs e)
{
 string sPath = Server.MapPath(Request.QueryString["file"]);
 FileInfo file = new FileInfo();

 if(file.Exists)
  {
   Response.Clear();
   Response.AddHeader("Content-Disposition","attachment; filename="+file.Name);
   Response.AddHeader("Content-Length",file.Length.ToString());
   Response.ContentType="application/octet-stream";
   Response.WriteFile(file.FullName);
   Response.End();
  }
}

DownloadFile.aspx使用相同的Master并拥有代码。从Tickets.aspx下载时没有问题。我认为这可能是由于iframe。所以我创建了一个没有主人的类似下载页面。但仍然是同样的错误。

我该如何解决这个问题。

0 个答案:

没有答案