后退按钮功能c#

时间:2017-01-23 09:42:05

标签: c# asp.net

目前我在说A页。网址为http://localhost:22507/PageA.aspx。从那里选择一个下拉值。现在,同一页面显示了一些额外的数据和一个编辑按钮以及下拉列表。网页网址仍为http://localhost:22507/PageA.aspx。当我单击“编辑”按钮时,它会重定向到另一个页面页面B.当前URL为http://localhost:22507/PageB.aspx?qstr=6EysKHDt1+a/m8SQcruQOCVgWF+9+PCfmydyeX5wbKU=

单击页面B中的“后退”按钮时,它会直接进入第一个状态。即,我要再次选择下拉菜单,点击编辑等。

如何在单击“返回”按钮后返回上一个状态(带有数据和编辑按钮的页面A)?

现在我使用Response.Redirect("PageA.aspx", false);进行重定向

1 个答案:

答案 0 :(得分:0)

更改所选列表项时,使用pushState更新浏览器地址栏和历史记录以记录状态更改。例如,而不是仍然显示/PageA.aspx的地址栏,它可以改为显示/PageA.aspx?selected=1。

如果您使用PageB.aspx后退按钮?qstr = 6EysKHDt1 + a / m8SQcruQOCVgWF + 9 + PCfmydyeX5wbKU =,按回会返回PageA.aspx?selected = 1。然后,您可以解析查询字符串以确定要显示的正确状态。

Mozilla在此提供有关pushState的文档:https://developer.mozilla.org/en-US/docs/Web/API/History_API

请注意,对于较旧的浏览器,存在一些兼容性问题。一个笨重的旧方法可以在更改下拉列表时使用查询字符串重新加载页面,允许后退按钮以相同的方式工作。避免重新加载页面的替代方案可以是使用指示状态的标志来更新cookie。在加载页面时,检查cookie和标志。然而,那么你需要考虑cookie的到期(即如果他们没有按回来但是通过其他方式再次导航到pageA,那么加载保存的状态仍然可以接受吗?)。