我有一个索引页面,可以将用户发送到单独的浏览器选项卡上的编辑产品页面。
对于每个被编辑的产品,索引页面都会重写Session["ProductID"]。
编辑页面然后具有以下代码,以获得此选项卡和产品的唯一标识符:
这个方法能够正常工作,而且当同一个用户打开多个标签页时,我只用引用Session[PageID.Value + "ProductID"]来获取正确的ID,(由于这是内部网站,我不会太在意安全级别)。
我的问题出现在用户按下F5键进行页面刷新时。此时,Session[PageID.Value + "ProductID"]将获取他最后打开的产品的Session["ProductID"]。
例如:
用户1在标签页1中打开产品1
用户1在标签页2中打开产品2
在正常使用工具时,一切都正常。但是如果:
用户1在产品1页面上点击刷新按钮(F5),产品1页面会变成产品2页面。
有没有办法识别“从其他页面首次加载/重定向”的页面刷新,以便我可以告诉我的页面不要更新Session[PageID.Value + "ProductID"]?
对于每个被编辑的产品,索引页面都会重写Session["ProductID"]。
编辑页面然后具有以下代码,以获得此选项卡和产品的唯一标识符:
if (!IsPostBack) //first time page load
{
Random R = new Random(DateTime.Now.Millisecond + DateTime.Now.Second * 1000 + DateTime.Now.Minute * 60000 + DateTime.Now.Minute * 3600000);
PageID.Value = R.Next().ToString();
Session[PageID.Value + "ProductID"] = Session["ProductID"];
}
这个方法能够正常工作,而且当同一个用户打开多个标签页时,我只用引用Session[PageID.Value + "ProductID"]来获取正确的ID,(由于这是内部网站,我不会太在意安全级别)。
我的问题出现在用户按下F5键进行页面刷新时。此时,Session[PageID.Value + "ProductID"]将获取他最后打开的产品的Session["ProductID"]。
例如:
用户1在标签页1中打开产品1
用户1在标签页2中打开产品2
在正常使用工具时,一切都正常。但是如果:
用户1在产品1页面上点击刷新按钮(F5),产品1页面会变成产品2页面。
有没有办法识别“从其他页面首次加载/重定向”的页面刷新,以便我可以告诉我的页面不要更新Session[PageID.Value + "ProductID"]?