导出excel保存后,怎样刷新页面(急啊)
我用GridView绑定出来10条数据 ,每条数据前面都有个checkbox,当我勾选了两天数据导出到EXCEL后,页面不刷新,还是那十条数据,因为那10条数据时根据某个状态绑定出来的 ,某条数据被导出后状态就会改变,如果页面不刷新,相当于显示的10条数据里面就会有两种状态导出代码如下:
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
Response.WriteFile(file.FullName);
Response.End(); --------------------编程问答-------------------- Response.Redirect()重新跳转了 --------------------编程问答-------------------- GridView重新绑定一下. 状态已经改变的数据不会再取出来了。 --------------------编程问答-------------------- 重新绑定下 --------------------编程问答-------------------- 导出之后->改变状态->搜索数据库->绑定Gridview --------------------编程问答-------------------- 在你导出的同时改变导出那两条数据的状态,更新到数据库,然后自动刷新 --------------------编程问答-------------------- 重新绑定1! --------------------编程问答-------------------- 我在到处的同时就更新了那两条数据的状态 然后再重新绑定了GridView ,在写的导出的那段代码
BindGridView();
System.IO.FileInfo file = new System.IO.FileInfo(path);
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
Response.WriteFile(file.FullName);
Response.End();
问题是只要弹出了保存excel那个对话框,不管我选打开,保存还是取消,都不会刷新页面了
还有以后说的用response.redirect(),这个根本不管用,如果写在最后 ,在弹出保存excel对话框以后,页面就没动静了,根本就不会跳转了,如果写在response.end()之前,会跳转,问题是跳转了过后,保存execl的对话框就不会弹出了 --------------------编程问答-------------------- 重新绑定或者直接跳转到某个页面上面提示成功什么的。 --------------------编程问答-------------------- 先绑定改变状态,然后到另一个页面去取数据导出 --------------------编程问答-------------------- 继续帮顶 --------------------编程问答-------------------- 楼主的问题,最后有解决方法吗? --------------------编程问答-------------------- 执行导出的时候,业务有二部分,导出,数据库中删除,或者改变状态,重新绑定数据。很好理解啊 --------------------编程问答-------------------- //导出数据
Response.Clear();
Response.Buffer = false;
Response.ContentEncoding = Encoding.UTF8;
Response.Charset = "utf-8";
Response.ContentType = "application/ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename + ".xls");
Response.Write(sb);
Response.Flush();
Response.End(); --------------------编程问答-------------------- 简单一点,使用弹出窗口将导出内容写入文件即可。
上面的问题在于,一旦使用了response.end,则缓冲中的内容被立即输出,同时停止页面的执行。
补充:.NET技术 , ASP.NET