我有一个文件选择菜单,用户选择一个文件,新页面在文本区域中加载单击的文件。用户编辑文本区域中的文本并单击保存按钮。
然后,用户应该可以通过单击Web浏览器后退按钮返回文件选择菜单。
问题:网络浏览器需要两次点击网络浏览器后退按钮。它只需要点击一下。
问题: 如何通过单击Web浏览器后退按钮使浏览器返回菜单?
protected void Page_Load(object sender, EventArgs e)
{
if (Session["BrowserBackButton"].ToString() == "true")
{
Response.Redirect("MainMenu.aspx", true);
}
}
问题:当我写入文本区域然后单击浏览器后退按钮一次它不会再次加载服务器端代码时,它只删除以前写入的文本。 再次点击它再次加载服务器。
我可以在浏览器后面点击按钮加载服务器吗?
答案 0 :(得分:1)
如何只需单击一下即可使浏览器返回菜单 网络浏览器后退按钮?
不,你不能。您无法更改浏览器的行为或功能。
但是,您可以在历史记录中显示一个可以追溯到2个级别的链接。像这样:
<a href="#" onclick="history.go(-2);">Back</a>
或者更好的是:
<a href="./originalPage.aspx">Back</a>
只需提供原始页面的链接。
答案 1 :(得分:0)
简单。使“保存”按钮激活AJAX调用以保存编辑,而不是正常的回发。解析AJAX调用后向用户显示“成功”消息,然后当他们点击“返回”按钮时,他们将返回1步到“文件选择”页面。
如果需要掌握AJAX,请发布现有代码。如何做到这一点有很多选择。
答案 2 :(得分:0)
您可以使用会话来检查加载的页面(从后退按钮)是否向后触发
然后将页面重定向到所需的页面。
像这样......
第1页&gt;第2页
第2页上载
if (Session["Back"] != null) //if fired backward using the back button
//redirect to desired page
//don't forget to set Session["Back"] back to null
第2页&gt;第3页
第3页上载
Session["Back"] = true; //or some key that will determine that you have already reached this page
在第2页的第一次加载时,由于Session [“Back”]为空,因此是正常的 但是,当您使用后退按钮返回到第2页时...会话[“后退”]将有一个值,允许您执行任何操作,例如页面重定向到第1页。