2012-12-21 177 views
0

我有两页。在第一页用户选择一些过滤器并按搜索按钮,然后用户导航到第二页。在第二页上,用户将看到一个网格,他将在那里执行一些任务。浏览器后退按钮页面状态的自定义按钮点击

现在用户需要返回到第一页,只需一次点击就无需使用浏览器后退按钮。由于用户在第二页中执行一些任务,该第二页发生后发生,用户不能从一次点击浏览器后退按钮进入第一页。

用户还需要第一页的状态与他选择过滤器并按搜索时的状态相同。

我该如何做到这一点?

回答

0

不幸的是,这没有什么魔术。您必须以编程方式记住返回URL以及返回时需要设置的任何页面状态。

出于此目的,查看包含UrlEncoded ReturnUrl参数的查询字符串并不罕见。如果您可以设法获得恢复Url状态所需的一切,那么您可以在完成后简单地重定向回Request.QueryString["ReturnUrl"]

如果您想要避开查询字符串,您需要先形成文章,或者将需要的数据存储在与当前请求分开的地方(如会话)以供日后检索。

0

这可能会帮助你,而不是完全按下后退按钮。

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) //check if the webpage is loaded for the first time. 
     { 
      ViewState["PreviousPage"] = 
     Request.UrlReferrer;//Saves the Previous page url in ViewState 
     } 
    } 
    protected void btnBack_Click(object sender, EventArgs e) 
    { 
     if (ViewState["PreviousPage"] != null) //Check if the ViewState 
         //contains Previous page URL 
     { 
      Response.Redirect(ViewState["PreviousPage"].ToString());//Redirect to 
     //Previous page by retrieving the PreviousPage Url from ViewState. 
     } 
    } 
+0

不保持上一页的状态,你只是重定向到前一页,在这种情况下,当页面加载它将松散所有选择的过滤器 – Zinov

相关问题