日期:2014-05-18  浏览次数:20473 次

为什么后退后session值不对呢?
在Default.aspx 点击链接到Default2.aspx

Default.aspx:
 protected void Page_Load(object sender, EventArgs e)
{
ParentId = Request["ParentId"];
Session["ParentId"] = ParentId;
Response.Write("Session1" + Session["ParentId"]);
}


Default2.aspx:
protected void Page_Load(object sender, EventArgs e)
{
 Response.Write("Session2" + Session["ParentId"]);
}


为什么在Default.aspx后退后,点击Default2.aspx
Default.aspx的session值变了,
Default2.aspx的session值还是一样呢?


------解决方案--------------------
ParentId = Request["ParentId"];
Session["ParentId"] = ParentId;
断点调试 看 ParentId 的值。
------解决方案--------------------
不关session的事,看后退的页面是否修改其值
------解决方案--------------------
Request["ParentId"] 的值发生变化引起个。
将Session["ParentId"] = ParentId;改为Session["ParentId"] = 1.就明白了
------解决方案--------------------
探讨

我后退直接用
javascript:history.go(-1);

------解决方案--------------------
你现在的方式是 a 跳转 b,a页面url传递ParentId,
换种方式实现,a页面跳转前直接设置session。
------解决方案--------------------
后退的时候,没有判断sessoin是否为空,为空的情况下Default.aspx才应该赋值
所以是逻辑上的问题
------解决方案--------------------
表示没看懂。