[整理]浏览器的后退按钮按下时,表示错误画面。 |
上一篇:[论坛帖]买二手房需要注意什么? 下一篇:[论坛贴]出租司机给我上的MBA课 |
添加日期:2006/3/15 17:52:01 |
快速返回 返回列表 |
阅读8608次 |
【概要】 浏览器的后退按钮按下时,、用户缓存的页面被表示,要限制这个操作,表示错误画面。 【结构】 1.在Session中保存用户显示的画面ID,要求显示和Session相违的画面ID,该动作无效。 (例:已经从A画面迁移到B画面,Session中pageID=B,按后退后,pageID=A<>B。)
2.同一画面的画面更新回数保存在Sesson中,要求显示和Session中的回数相违的画面,动作无效。 (例:A画面已经刷新过N次,按后退后,更新回数<>session中的回数)
3.画面初期表示時,生成随机化Key番号,保存在Session中,要求显示和Session中Key相违的画面,动作无效. (例:从A画面迁移到B画面,又迁移到A画面,按后退按钮直接后退到A画面后,只按规则一判断已经不对了。) 所以给每个画面一个key,保证用户浏览的每个画面都不同(单凭画面ID做不到。)
4.画面的URL附加随机化字符串,防止浏览器缓存。
【相关方法】 1.xx.CreateUrl() 1.画面的URL附加随机字符串。
2.xx.SetNextPage() 1.Session中设定画面ID(迁移到的画面的ID) 2.调用xx.CreateUrl(),URL随机化
3.CheckDispPage() 1.画面初期表示時,画面更新回数、画面随机化Key,保存在Session和ViewState中。 (注意这里没有保存画面ID,画面ID是由前画面调用SetNextPage()设定的。) 2.Session中的画面ID和要显示的画面ID不符的时候,错误。 (对应规则1) 3.画面的随机化Key存在的时候,Session和ViewState中的Key不同的时候,错误。 (对应规则3) 4.Session的更新回数和ViewState的更新回数不符的场合,错误。 (对应规则2) 5.如果2.~4没有问题,那么画面更新回数+1,保存到Session和ViewState中。
|
|
评论 COMMENTS |
guest575863232 |
2008/7/15 15:57:30 location.replace(),将后退不到上个页面 |
|