繁体   English   中英

如何返回上一页并在c#中保存上一页数据

[英]How to go back to previous page and preserve the previous page data in c#

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

就是这种情况。

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

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

CASE 1

我已经用谷歌搜索,发现我们可以使用URLReferrer并检查它是否为null。 但是在我的情况下,它始终是购物篮URL,因为我在Jeans Page上使用Response.Redirect。 所以我不能使用URLReferrer。

CASE 2

我还发现,使用Javascript History,我们可以返回1或2页。 但是,由于我要保留用户数据,因此CART我也不能使用它,因为它会使用浏览器缓存并且不会保存任何用户数据。

CASE 3

我正在考虑使用上下文或会话将当前页面的URL存储在Jeans页面上,我可以在购物篮页面中对其进行检查,如果它不为null,则将其重定向到该页面。 但是我想再返回一步。 男士服装页面而非牛仔裤页面。

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

谢谢...

使用Response.Redirect转到所需页面,并使用会话存储Basketdata。

对于重定向使用:

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

为了存储,请使用数据集或数据表并将其存储在会话中。

    Session["items"] = ur_DataTable as DataTable;

     or

     Session["items"] = ur_DataSet as DataSet;

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

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

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();
}

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

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

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

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

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

当你想回到取决于加入到篮下什么项目的页面虽然,你需要认识到你想重定向到以及如何页面的关系是相对于项目页面。

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

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

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

现在,您似乎想重定向到该项目所在类别的父类别。然后,您可以使用:

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

或任何数据模型。

暂无
暂无

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

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