繁体   English   中英

通过HTTP导航到新页面时会话丢失

[英]Session lost when navigate to a new page via HTTP

我的页面中有HTML锚标记作为按钮。 在页面加载中,我将URL设置为该锚标记的href属性。 在设置href属性之前,我将一些信息保存在一个对象中并将该对象保存在会话中。 该信息将在单击该锚标记后导航的新页面中使用。

当我通过HTTPS单击该特定锚标记导航到新页面时,我设置的会话变量仍然存在。 我可以访问为该特定会话设置的对象的属性。

但是我通过HTTP单击该特定的定位标记导航到新页面,我保存在会话中的对象的属性丢失了。 任何人都可以知道发生了什么吗? 通过HTTP导航到新页面时,为什么会话变量会很多?

我认为您应该在if(!Ispostback) {session["variable"] = value; Response.Redirect("nextpage.aspx"); }页面中编写代码if if(!Ispostback) {session["variable"] = value; Response.Redirect("nextpage.aspx"); } if(!Ispostback) {session["variable"] = value; Response.Redirect("nextpage.aspx"); } if(!Ispostback) {session["variable"] = value; Response.Redirect("nextpage.aspx"); }之后导航到另一个页面

是的,您可以使用LinkBut​​ton代替锚标记,并在事件的事件上编写代码,如下所示:

protected void LinkButton_Click(object sender, EventArgs e)
    {
Session["variable"] = yourobject; 
Response.Redirect("nextpage.aspx"); 

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM