我正在尝试使用c#代码将数据表导出到csv,在我的asp.net网站上。浏览器在加载一段时间后崩溃。它在我的本地机器上工作正常。但是,当我在服务器上部署它并尝试导出时,我得到了" aw snap"错误。有人可以帮忙吗?
这是我的C#代码:
string csvfileName = FieldName + "_" + @"AnalysisReport_" + Session["TableName"].ToString() + ".csv";
string fileName = Server.MapPath("~/Downloads/" + csvfileName);
using (StreamWriter writer = new StreamWriter(@fileName))
{
Common.ToCSV("*mydatatable*", writer, true);
}
Response.Clear();
Response.ContentType = "application/csv";
Response.AddHeader("Content-Disposition", "attachment; filename=" + csvfileName);
Response.WriteFile(fileName);
Response.Flush();
File.Delete(@fileName);
Response.End();
要导出到Excel的按钮放在更新面板中。这可能是问题的原因吗?
答案 0 :(得分:0)
你不能使用请求ajax来加载这样的事件。您可以尝试或删除此组件的更新面板,也可以添加如下触发器:
<Triggers>
<asp:PostBackTrigger ControlID="ButtonThatFireExcel" />
</Triggers>
原因是您的页面需要对服务器执行完整请求,而不是像更新面板的正常请求那样执行部分请求。
除此之外,我会考虑使用text / csv而不是application / csv。