Asp.net 在.Net中下载文件/另存为不工作
我有一个基于jquery lightbox的屏幕,我想在点击链接按钮时下载一个文件,但是允许我保存的弹出框没有出现。。。如果将下面的简单测试代码放入表单加载中,它就可以工作,但如果将它放入超链接的服务器端单击事件中,它就不能工作。你知道为什么吗Asp.net 在.Net中下载文件/另存为不工作,asp.net,http,download,mime-types,content-disposition,Asp.net,Http,Download,Mime Types,Content Disposition,我有一个基于jquery lightbox的屏幕,我想在点击链接按钮时下载一个文件,但是允许我保存的弹出框没有出现。。。如果将下面的简单测试代码放入表单加载中,它就可以工作,但如果将它放入超链接的服务器端单击事件中,它就不能工作。你知道为什么吗 Response.ContentType = "text/plain"; Response.AppendHeader("Content-Disposition", "attachment; filename=event.txt"); Response.
Response.ContentType = "text/plain";
Response.AppendHeader("Content-Disposition", "attachment; filename=event.txt");
Response.Write("test");
Response.Flush();
Response.End();
通过firebug查看,响应标题如下所示,但实际响应只是页面重新加载时的html
Response Headers
Cache-Control private
Transfer-Encoding chunked
Content-Type text/plain; charset=utf-8
Server Microsoft-IIS/7.5
X-AspNet-Version 2.0.50727
Content-Disposition attachment; filename=event.txt
X-Powered-By ASP.NET
Date Fri, 03 Jun 2011 03:21:25 GMT
下面是我尝试过的一个实验: 标记:
<p>
<a href="#" runat="server" ID="lnkDownload" Text="Download Text" onServerClick="DownloadFile">Download</a>
</p>
}
唯一不同的是我使用了OnServerClick而不是OnClick
这对我在Firefox 3.6和IE9上很有效。以下是我尝试过的一个实验: 标记:
<p>
<a href="#" runat="server" ID="lnkDownload" Text="Download Text" onServerClick="DownloadFile">Download</a>
</p>
}
唯一不同的是我使用了OnServerClick而不是OnClick
这对我在Firefox 3.6和IE9上很有效。您是否在代码隐藏中为您的下载事件处理程序设置了超链接的
OnClick
属性?或者,您可以使用ashx文件处理程序,如下所示:OnClick属性被链接起来,它包含执行的代码。。。我会调查ashx处理程序。我对它们不熟悉……您是否已将超链接的OnClick
属性设置为代码隐藏中的下载事件处理程序?或者,您可以使用ashx文件处理程序,如下所示:OnClick属性被链接起来,它包含执行的代码。。。我会调查ashx处理程序。我不熟悉他们。。。