导出excel后 session保存的值会丢失

wang15072732418 2010-11-09 09:34:25
导出excel后 session保存的值会丢失,请问这是怎么回事?
...全文
202 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
glacier123 2011-04-09
  • 打赏
  • 举报
回复
一:在第一个页面置了SESSION,然后REDIRECT去第二个页面。解决方法是在REDIRECT中设置endResponse为FALSE。

二: ASP.NET中使用了ACCESS数据库,而且数据库是放在bin目录中的。解决方法是不要放会更新的文件在BIN目录中。


我是因为把文件放在bin里了
http://www.blogjava.net/jvict/articles/250417.html
hezongheng1985 2011-02-12
  • 打赏
  • 举报
回复
我遇过这问题,但是我还没找到处理的方法。

很奇怪,我同事的电脑导出就可以继续浏览页面。
但是我的一导出,再浏览页面就提示重新登陆,session已经丢失了。
wang15072732418 2010-11-09
  • 打赏
  • 举报
回复
我把 if (Session["yggh"] == null)
{
Response.Redirect("Login.aspx");
}
放在 if (!IsPostBack){}
里面也可以,不过不知道安不安全。
hookyzlr 2010-11-09
  • 打赏
  • 举报
回复
跟导出excel没关系吧,你更改下session存储方式,改成stateserver
chen_ya_ping 2010-11-09
  • 打赏
  • 举报
回复
实在不行就用一个页面来下载你的EXCEL文件,就是跳转到另一个页面,写上你的下载的代码来下载。
wang15072732418 2010-11-09
  • 打赏
  • 举报
回复
以上代码导出Excel之后再点击其它的任何按钮就会跳到Login.aspx页面
wang15072732418 2010-11-09
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
if (Session["yggh"] == null)
{
Response.Redirect("Login.aspx");
}
if (!IsPostBack)
{
BindCkd();
PageManage();
}
lblmessage.Text = "";
}


protected void Excel(string FileType, string FileName)
{
this.GVrkdmx.Columns[0].Visible = false;
this.GVrkdmx.Columns[3].Visible = false;
this.GVrkdmx.Columns[4].Visible = false;
Response.Clear();
System.Web.HttpContext curContext = System.Web.HttpContext.Current;
Response.AddHeader("content-disposition", "attachment;filename=CPCKD" + System.DateTime.Now.Date.Day + ".xls");
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
GVrkdmx.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());//向客户端写数据
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
}
protected void btnexcel_Click(object sender, EventArgs e)
{
Excel("application/ms-excel", "TCRM.xls");
}
孟子E章 2010-11-09
  • 打赏
  • 举报
回复
你可以试试通过window.open("导出的页面")这样做看看
Ny-6000 2010-11-09
  • 打赏
  • 举报
回复
上代码看看.

应该不会丢失的啊.
wang15072732418 2010-11-09
  • 打赏
  • 举报
回复
我在webconfig中设置了session过期时间,还是没有用,不知道大家有没有遇到相同的问题。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧