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

时间:2013-10-10 13:00:38

标签: c# asp.net session

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

当我通过HTTPS单击该特定锚标签导航到新页面时,我设置的会话变量将保持不变。我可以访问我设置到该特定会话的对象的属性。

但是我通过HTTP单击该特定锚标签导航到新页面,我在会话中保存的对象的属性将丢失。 谁能知道发生了什么?为什么会话变量在通过HTTP导航到新页面时会变得很多?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

是的,您可以使用LinkBut​​ton而不是锚标记,并在其上写下代码的代码:

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

}