我需要为我的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。查看/编辑标签包含后退按钮。
同样从“视图”选项卡中,我可以通过单击其中的另一个“编辑”按钮导航到“编辑”选项卡。
感谢。
答案 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"] %>);' />
在需要时小心重置会话变量
让我觉得有点脏,但它有效:)