问题的根本原因是在ASPX文件中,Response对象的默认Content-Type属性被更改为'text/html”,这可能阻止浏览器下载文件。
解决此问题的方法是在ASPX页面的Page_Load事件中,设置Response对象的Content-Type属性以允许文件下载。以下是示例代码:
protected void Page_Load(object sender, EventArgs e) { Response.Buffer = true; Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("content-disposition", "attachment;filename=example.xls"); Response.Charset = ""; Response.Cache.SetCacheability(HttpCacheability.NoCache); }
在上面的代码中,我们设置Content-Type属性为'application/vnd.ms-excel”,并添加了'content-disposition”标头,这告诉浏览器以附件的形式下载文件。Cacheability属性设置为NoCache,这可防止浏览器缓存文件。
最后,确保您的下载链接指向新的ASPX文件。