简体   繁体   English

返回当前会话的上一页

[英]Back to previous page on current session

How to set the back button in detail page to refer to previous page (list of order page) that user view. 如何在详细页面中设置后退按钮以引用用户查看的上一页(订单页面列表)。 On my situation, I have three page that using query string to get the page (list of order page). 就我的情况而言,我有三个页面,这些页面使用查询字符串来获取页面(订单页面列表)。

aspx.cs file in list of order page: 订单页面列表中的aspx.cs文件:

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {

            BindOrderList(Request.QueryString["order"]);


        }


    }

       protected void pending(object sender, EventArgs e)
    {

        Response.Redirect("OrderHistory.aspx?order=pending", true);
    }

    protected void confirmed(object sender, EventArgs e)
    {

        Response.Redirect("OrderHistory.aspx?order=confirmed", true);
    }
    protected void rejected(object sender, EventArgs e)
    {
        Response.Redirect("OrderHistory.aspx?order=rejected", true);
    }

In detail page, i have one button for user click to back on the previous page that they view. 在详细页面中,我有一个按钮供用户单击以返回他们查看的上一页。 Example, if they see the confirmed order list and click on one of the order to view the detail, then on the detail page they click back button, then they should back to the confirmed order list page. 例如,如果他们看到确认的订单列表并单击订单之一以查看详细信息,则在详细信息页面上,他们单击“后退”按钮,则他们应返回到确认的订单列表页面。 Same goes to pending order list page and rejected order list page. 相同的将进入待处理订单列表页面和拒绝订单列表页面。 How can I set the back button function on my situation and where i need to set , in the list order page or in detail page? 如何在列表顺序页面或详细信息页面上根据需要以及需要​​设置的位置设置后退按钮功能

Use Session object to save URL for the same page when user click for details page. 当用户单击详细信息页面时,使用Session对象保存同一页面的URL。 When he/she hit back button, the call goes to the server and you can fetch the URL from Session and redirect to the same page. 当他/她单击“后退”按钮时,呼叫将转到服务器,您可以从会话中获取URL并重定向到同一页面。

protected void pending(object sender, EventArgs e)
{

    Response.Redirect("OrderHistory.aspx?order=pending", true);
    Session["ReturnURL"] = "OrderHistory.aspx?order=pending";
}

protected void confirmed(object sender, EventArgs e)
{

    Response.Redirect("OrderHistory.aspx?order=confirmed", true);
    Session["ReturnURL"] = "OrderHistory.aspx?order=confirmed";
}
protected void rejected(object sender, EventArgs e)
{
    Response.Redirect("OrderHistory.aspx?order=rejected", true);
    Session["ReturnURL"] = "OrderHistory.aspx?order=rejected";
}

So on page OrderHistory.aspx.cs code-behind there is event-handler for Back button like 因此,在页面OrderHistory.aspx.cs的代码后面,有“后退”按钮的事件处理程序,例如

 protected void btnReturnBack_Click(object sender,EventArgs e)
 {
      //Code for whatever you want to done here
      if(Session["ReturnURL"] != null)
      {
           Response.Redirect(Convert.ToString(Session["ReturnURL"]), true);
      }
 }

Hope this will resolve your query. 希望这能解决您的查询。

In detail page for back button, i use below code: 在后退按钮的详细页面中,我使用以下代码:

protected void btnBack_Click(object sender, EventArgs e)
    {
        string URL;
        URL = "OrderHistory.aspx?order="+Convert.ToString(Session["ReturnURL"]);
        Response.Redirect(URL);

    }

In list order page in page load: 在页面加载的列表顺序页面中:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {

            BindOrderList(Request.QueryString["order"]);



            Session["ReturnURL"] = Request.QueryString["order"];


        }


    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM