以下是代码
DataTable dt=dstResultTask.Tables[0];
StringWriter sw=new StringWriter();
sw.WriteLine("变电站名称\t 任务名称\t 开始巡视时间\t 结束巡视时间\t 巡视点数目\t 设备数目\t 巡视人");
foreach(DataRow dr in dt.Rows)
{
sw.WriteLine(dr["dmyy"]+"\t"+dr["task_name"]+"\t"+dr["startdatetime"]+"\t"+dr["enddatetime"]+"\t"+dr["numofpoint"]+"\t"+dr["numofequip"]+"\t"+dr["yhzwmc"]);
}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=task.xls");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End(); 数据可以导出。我是把数据导出到服务器的某一路径下,提供客户端下载,跳出下载对话框时,如果选择保存,则保存完后。在点到页面上的一些web控件(autopostback为true)时就会跳出“未指明的错误”字样的脚本错误。定位到的脚本是asp.net本身产生的__doPostBack函数。如果下载对话框点“打开”则没有任何问题。怀疑是因为frame的问题
因为我把这个页面放在Frame中的话就会出现这个错误
但是单独拿出来运行的话就不会出现了,指高手详细解决方案。
DataTable dt=dstResultTask.Tables[0];
StringWriter sw=new StringWriter();
sw.WriteLine("变电站名称\t 任务名称\t 开始巡视时间\t 结束巡视时间\t 巡视点数目\t 设备数目\t 巡视人");
foreach(DataRow dr in dt.Rows)
{
sw.WriteLine(dr["dmyy"]+"\t"+dr["task_name"]+"\t"+dr["startdatetime"]+"\t"+dr["enddatetime"]+"\t"+dr["numofpoint"]+"\t"+dr["numofequip"]+"\t"+dr["yhzwmc"]);
}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=task.xls");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End(); 数据可以导出。我是把数据导出到服务器的某一路径下,提供客户端下载,跳出下载对话框时,如果选择保存,则保存完后。在点到页面上的一些web控件(autopostback为true)时就会跳出“未指明的错误”字样的脚本错误。定位到的脚本是asp.net本身产生的__doPostBack函数。如果下载对话框点“打开”则没有任何问题。怀疑是因为frame的问题
因为我把这个页面放在Frame中的话就会出现这个错误
但是单独拿出来运行的话就不会出现了,指高手详细解决方案。
如果真的像你自己所说的是因为iframe引起的话,不如找找其他代替方案吧,
Response.Flush();
Response.End();