如何返回上一页并保留c#中的上一页数据

时间:2013-01-31 10:09:14

标签: c# asp.net

我正在开发一个在Asp.net 3.0中开发的零售网站。我有一个推车系统,所以当用户将一些项目添加到他们的购物车时,他们将被重定向到购物篮页面。我在购物篮页面上有一个按钮,让他们回去添加更多商品。我不知道该怎么做。

就是这样。

Home Page -> Mens Clothing Product List -> Jeans Page -> Basket pgae

现在,当用户去男士服装时,他们会看到所有物品,然后他们选择了一件他们想买的牛仔裤,并将它们重定向到牛仔裤页面。现在他们将项目添加到他们的购物篮中并将其重定向到购物篮页面,现在我在购物篮页面上有一个名为“保持购物”的按钮,当他们点击时(截至现在他们被重定向到主页)但是我需要他们重定向到男士服装产品列表而不是主页。

CASE 1

我用google搜索它并发现我们可以使用URLReferrer并检查它是否为null。但在我的情况下,它始终是Basket Page URL,因为我在Jeans页面上使用Response.Redirect。所以我不能使用URLReferrer。

CASE 2

我还发现使用Javascript历史记录我们可以回到1或2页。但是因为我想保留用户数据和CART我也不能使用它,因为它会使用浏览器缓存而不会保存任何用户数据。

CASE 3

我正在考虑使用Context或Session将当前页面URL存储在Jeans页面上,我可以在Basket Page中查看它,如果它不为null,则重定向到该页面。但是我想再回头一步,即。男士服装页面不是牛仔裤页面。

我真的不确定这是不是一个好主意。请建议。

...谢谢

4 个答案:

答案 0 :(得分:2)

使用 Response.Redirect 转到所需的网页,然后使用会话存储Basketdata。

重定向使用:

protected void btn_click(object sender, EventArgs e)
{
    Response.Redirect("desired page.aspx");
}

用于存储使用数据集或数据表并将其存储在ssession中。

    Session["items"] = ur_DataTable as DataTable;

     or

     Session["items"] = ur_DataSet as DataSet;

ur_Datatable或ur_DataSet将包含您添加的产品。

答案 1 :(得分:2)

要呈现另一个页面并保存其数据以便在当前页面中访问,请执行以下操作

protected void button_Click(Object sender,EventArgs e )
{
   session["give your prefered Name to session"]=your value.its whatever
   response.redirect("your Page URL to Redirect from this page to that page");
}

现在访问另一个页面上存储在会话中的值。请执行以下操作     bye默认值按会话返回属于“对象”类型,因此您可以使用显式转换转换为任何数据类型

这里我用字符串转换对象值,

protected void Page_Load(object sender, EventArgs e)
{
    string value=session["Use Same Name as u have given to it"].ToString();
}

答案 2 :(得分:0)

asp.net中简单状态管理的一种方法是使用隐藏字段。 使用隐藏字段存储位置并将其传递到购物篮页面。

答案 3 :(得分:0)

  

现在,当用户选择“男士服装”时,他们会看到所有项目,然后他们选择了一件他们想要购买的“牛仔裤”并将其重定向到“牛仔裤”页面。现在,他们将商品添加到购物篮中,然后将其重定向到“购物篮”页面。

     

现在我在“购物篮”页面上有一个名为“Keep Shopping”的按钮。当他们点击时,我需要将它们重定向到男士服装产品列表而不是主页。

现在您说要重定向到“男士服装”页面,但您必须确定为什么要重定向到该页面。如果它始终是该页面,则硬编码:

Response.Redirect("Shop/Categories/Mens-Clothing");

虽然您想要返回的页面取决于添加到购物篮中的项目,但您需要实现要重定向到的 页面以及该页面的关系如何该项目。

购物篮页面知道正在添加到购物篮的商品。例如,如果您想要重定向到该项目的类别页面,请查找此项目所在的类别,然后重定向到该页面:

Response.Redirect("Shop/Categories/" + item.Category.Name);

虽然这会将您重定向到“牛仔裤”页面,因为这是选择项目的类别。

现在看起来您想要重定向到项目所在类别的父类别。然后您使用该用户:

Response.Redirect("Shop/Categories/" + item.Category.ParentCategory.Name);

或者您的数据模型是什么样的。