当前位置: 首页 > 面试题库 >

单击浏览器的后退按钮,如何获得同一页面

邹博裕
2023-03-14
问题内容

我在aspx页面的c#中使用asp.net和c#,在此面板中有一个更新面板,我有一些指向其他站点的链接,这些链接在同一窗口中打开。在单击这些链接后,当我通过浏览器的后退按钮返回时,在更新面板上没有得到相同的结果…


问题答案:

我已经在以下文章中实现了相同的方法,如果您需要进一步的帮助,请Plz告诉我,我将提供代码

http://rchern.wordpress.com/2008/05/11/updatepanel-backforward-browser-
navigation/

首先,您必须启用ScriptManager历史记录EnableHistory =“ true”
在此示例中,我们将维护gridview分页,当用户浏览器后退按钮时,您必须在首次加载页面后添加历史记录点。

private void AddHistoryPoint(String key, String value, String tile)
{
    ScriptManager scm = ScriptManager.GetCurrent(this.Page);
    if ((scm.IsInAsyncPostBack == true) && (scm.IsNavigating != true))
    {
        if (pageState == null)
        {
           NameValueCollection pageState = new NameValueCollection();
        }
        if (pageState[key] != null)
        {
            pageState[key] = value;
        }
        else
        {
            pageState.Add(key, value);
        }
        scm.AddHistoryPoint(pageState, tile);
    }
}

protected void grid_PageIndexChanged1(object sender, EventArgs e)
{
    AddHistoryPoint("pi", grdProject.PageIndex.ToString(), "Page Index- " + (grdProject.PageIndex + 1).ToString());
}

在这里,您必须处理ScriptManager导航事件

     protected void ScriptManager1_Navigate(object sender, System.Web.UI.HistoryEventArgs e)
{
    if (e.State != null)
    {
        if (e.State["pi"] != null)
        {
            grid.PageIndex = Convert.ToInt32(e.State["pi"]);
        }
    }
}


 类似资料:
  • 问题内容: 我在www.darknovagames.com上运行了基于浏览器的游戏。最近,我一直在努力使用CSS重新格式化该网站,试图让其所有页面都根据HTML标准进行验证。 我一直在想着要在页面左侧放置AJAX导航菜单的想法(而不是每次都将用户带到一个单独的页面,而是需要重新加载标题和导航栏,而这几乎是不会改变的),我知道如果这样做,我可能会破坏浏览器中的“前进/后退”按钮。我的问题是,我应该继

  • 问题内容: 是否可以检测用户何时单击浏览器的后退按钮? 我有一个Ajax应用程序,如果我可以检测到用户何时单击“后退”按钮,则可以向后显示适当的数据。 任何使用PHP,JavaScript的解决方案都是可取的。最好用任何一种语言解决方案,只需要我可以翻译成PHP / JavaScript的东西即可 编辑:从下面剪切并粘贴: 哇,所有出色的答案。我想使用Yahoo,但我已经使用了Prototype和

  • 问题内容: 是否可以使用浏览器中的“历史记录后退”按钮检测到用户进入了页面?最好是我想使用angular.js检测到此动作。 我不想使用角度布线。如果用户提交表单,并且在成功提交到服务器并进行重定向之后,它也应该起作用,如果用户使用浏览器的“后退”按钮返回到表单,则也应该是可行的。 问题答案: 这是Angular的解决方案。 我正在使用运行块来启动它。首先,我将实际位置存储在$ rootScope

  • 问题内容: 当用户登录时,将存储会话信息。当用户注销时,会话信息将被删除。但是当我点击浏览器的后退按钮时,会显示用户信息。由于会话已消失,但我们无法确定是否执行了用户登录操作。我该如何解决这个问题? 问题答案: 我用这种方法。首先创建一个实现Filter的类并重写doFilter()方法。doFilter()的代码是: 之后在web.xml中使用过滤器。这个过滤器就是这个。

  • 问题内容: 您如何确定用户是否按下浏览器中的“后退”按钮? 您如何使用系统在单页Web应用程序内强制使用页内后退按钮? 到底为什么浏览器后退按钮不触发自己的事件!? 问题答案: (注意:根据Sharky的反馈,我提供了用于检测退格的代码) 因此,我经常在SO上看到这些问题,并且最近遇到了我自己控制后退按钮功能的问题。在为我的应用程序寻找最佳解决方案(带哈希导航的单页)几天后,我提出了一个简单的,跨

  • 问题内容: 我遇到的情况是,单击按钮打开带有搜索结果的新浏览器窗口。 有什么方法可以连接并聚焦到新打开的浏览器窗口吗? 并使用它,然后返回到原始(第一个)窗口。 问题答案: 您可以在以下窗口之间切换: