【发布时间】:2012-12-08 03:36:45
【问题描述】:
我有页面A和页面B。你可以在页面A中做以下事情:
- 在页面 A 上执行操作(例如,在列表框中选择一个项目),这会导致页面 A 中的 UpdatePanel 被重新绘制并包含其他信息。
- 转到页面 B。这是通过 Button 和
Response.Redirect完成的。
现在问题如下:
- 用户在页面 A 上执行操作。页面 A 现在与其初始状态不同。
- 用户移动到页面 B。
- 用户点击浏览器的后退按钮。
会发生什么:显示页面 A 处于其初始状态。
我希望发生的事情:显示页面 A 处于其最终状态(即,在列表框中选择了“正确”项目)。
我知道ScriptManager.AddHistoryPoint!据我所知,它并没有解决我的问题:
我可以打电话给
AddHistoryPoint每次在页面 A 上完成了一些事情。这很糟糕,因为它在浏览器历史记录中留下了很多条目。 (每次都会选择一个新的条目。)但这正是我想通过使用 UpdatePanel 来避免的!当然,如果有ReplaceLastHistoryPoint的方法就完美了,但是我没找到……我试图在
Response.Redirect之前调用AddHistoryPoint,只保存页面 A 的 last 状态,但是,唉,这不起作用(没有历史记录点保存)。考虑到Response.Redirect的工作原理,这并不奇怪。
我错过了一些解决方案吗?我正在使用 .NET 3.5SP1,以防万一。
【问题讨论】:
-
我不确定,但上周我遇到了类似的情况..这是我的问题stackoverflow.com/questions/13750029/… ....有几个插件建议给我,所以你可以试试看它有帮助....
标签: c# asp.net .net asp.net-ajax updatepanel