在asp.net中实现后退按钮功能

时间:2010-01-13 11:31:24

标签: asp.net back-button jquery-tabs

我需要为我的asp.net网站实现一个后退按钮。我能够使用javascript方法来实现我的要求。但是有时候我需要多次点击后退按钮才能回到上一页。可能是因为我们在网站上使用了jquery选项卡。要专注于特定的选项卡,除了页面加载的第一个选项卡,我使用的是Page.ClientScript.RegisterStartupScript(....)。所以我是只需点击一下,就无法将用户带回上一页。

我也试过过以下链接中提到的asp.net-C#方法。 http://www.dotnetcurry.com/ShowArticle.aspx?ID=89 我可以回到上一页,但它的状态正在丢失。有人可以帮助我实现我的要求吗?

详细说明:
我有page1.aspx,page2.aspx(其中包含jquery标签查看/编辑)。

在page1.aspx中有2个按钮(查看,编辑)。如果我点击查看按钮,它会转到page2.aspx查看标签(第一个标签),如果我点击编辑按钮,它必须带我加载了编辑标签页面到page2.aspx。查看/编辑标签包含后退按钮。

同样从“视图”选项卡中,我可以通过单击其中的另一个“编辑”按钮导航到“编辑”选项卡。

感谢。

2 个答案:

答案 0 :(得分:1)

您在问题中涵盖的方法基本上是您可以使用的方法 你也可以 1.提供一个使用javascript的链接,让客户回到页面 2.提供一个回发到服务器的链接,将您重定向到页面。

我不确定为什么你问题中描述的webform中的jquery导致你点击一次以返回。如果你知道它总是需要2次点击返回,你可以尝试这种方法:

javascript: window.history.go(-2)

当您使用回发/重定向方法时,您将始终使用http GET方法来检索您要返回的页面。如果要维护状态,则必须手动执行此操作,即在离开页面时保存值,例如会话或临时数据库,并在返回页面时,在页面加载期间检查用户是否具有这些值值保存并预先填充它们。

答案 1 :(得分:0)

我做过类似的事情(虽然有自动重定向)但我必须跟踪要在我的ViewState中返回的页面数量(如果你从一个页面跳到另一个页面,则跟踪会话):

代码隐藏

public void Page_Load()
{
    Session["pagesToGoBack"] = ((int)Session["pagesToGoBack"])++;
}

加价:

<input type="button" value="Back" onclick='javascript:history.go(<%= Session["pagesToGoBack"] %>);' />

在需要时小心重置会话变量

让我觉得有点脏,但它有效:)