我有页面 A 和页面 B。您可以在页面 A 中执行以下操作:
- 在页面 A 上做一些事情(例如,在列表框中选择一个项目),这会导致页面 A 中的 UpdatePanel 用附加信息重新绘制。
- 转到页面 B。这是通过 Button 和 完成的
Response.Redirect
。
现在问题如下:
- 用户在页面 A 上执行操作。页面 A 现在与其初始状态不同。
- 用户移动到页面 B。
- 用户点击浏览器的后退按钮。
会发生什么: 显示 处于初始状态的页面 A。
我想要发生的事情:显示最终状态的页面 A(即,在列表框中选择了“正确”项目)。
我知道ScriptManager.AddHistoryPoint!据我所知,它并没有解决我的问题:
AddHistoryPoint
每次在页面 A 上完成某些操作时,我都可以调用它。这很糟糕,因为它会在浏览器历史记录中留下大量条目。(每次选择不同的列表框项时都会出现一个新条目。)但这正是我想通过使用 UpdatePanel 来避免的!当然,如果有ReplaceLastHistoryPoint
办法,那就完美了,但是我没有找到……AddHistoryPoint
我之前尝试调用Response.Redirect
,只保存页面 A 的最后一个状态,但是,唉,这不起作用(没有保存历史记录点)。考虑到工作原理,这并不奇怪Response.Redirect
。
有没有我错过的解决方案?我正在使用 .NET 3.5SP1,以防万一。