iJa*_*ade 9 c# browser asp.net
可能重复:
检测浏览器中的后退按钮
我有两个页面,Page1和Page2.当通过单击链接从Page1移动到Page2时,我倾向于存储在Page2上单击浏览器后退按钮时恢复Page1状态所需的条件.
我使用以下函数来清除缓存,
protected override void OnInit(EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.MinValue);
base.OnInit(e);
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以根据cookie中存储的条件重新加载页面.但问题是如何确定我是否按下浏览器后退按钮或菜单链接来到Page1.
更新:
我刚刚登陆此链接检测浏览器中的后退按钮,但它对我不起作用
请解释您的问题,而不是您的解决方案。因为您将页面的可缓存性设置为无,所以浏览器将简单地重新发出对该页面的无条件请求。这与单击该页面的链接没有什么不同,并且不会被检测到。
如果您的问题是您不知道当有人重新访问页面时如何设置表单数据,您可以使用如下会话(psuedo):
if (!String.IsNullOrEmpty(Session["Username"]))
{
UsernameTextbox.Text = Session["Username"];
}
Run Code Online (Sandbox Code Playgroud)
如果您想在单击该页面的链接时显示清晰的表单,您可以设置一个查询参数,例如reset=true,这将清除会话数据并显示空白表单。
| 归档时间: |
|
| 查看次数: |
1830 次 |
| 最近记录: |