[英]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.