我有一个带有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。所以我创建了一个没有主人的类似下载页面。但仍然是同样的错误。
我该如何解决这个问题。