2013-01-31 72 views
0

我正在開發一個在Asp.net 3.0中開發的零售網站。我有一個購物車系統,所以當用戶添加一些項目到他們的購物車時,他們正在重定向到購物籃頁面。我在籃子頁面上有一個按鈕,讓他們回去添加一些項目。我不知道該怎麼做。如何返回上一頁並保留c中的上一頁數據#

這裏是這種情況。

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

現在,當用戶去男裝他們看到所有的項目,那麼他們選擇一個牛仔褲又想買,他們將被重定向到牛仔褲頁。現在他們添加項目到他們的籃子,他們被重定向到購物籃頁面,現在我在籃子頁面上有一個名爲「繼續購物」的按鈕,當他們點擊(截至目前他們被重定向到主頁),但我需要他們重定向到男士服裝產品列表,而不是主頁。

CASE 1 

我已經使用它並發現我們可以使用URLReferrer並檢查它是否爲null。但在我的情況下,它總是籃網頁網址,因爲我在牛仔褲頁面上使用Response.Redirect。所以我不能使用URLReferrer。

CASE 2 

我還發現,使用Javascript的歷史,我們可以回到1或2頁。但因爲我想保留用戶數據和CART我不能使用它,因爲它會使用瀏覽器緩存,並不會保存任何用戶數據。

CASE 3 

我想使用環境或會話存儲牛仔褲頁當前頁面的URL,我可以將其簽入籃頁,如果它不爲空,然後重定向到該頁面。但我想回去一步,即。男士服裝網頁不是牛仔褲。

我真的不確定這是否是一個好主意。請建議。

謝謝...

回答

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將包含您添加的產品。

0

在asp.net中進行簡單狀態管理的一種方法是使用隱藏字段。 使用隱藏字段來存儲位置並將其傳遞到購物籃頁面。

0

現在,當用戶轉到「男士服裝」時,他們會看到所有商品,然後選擇一個他們想要購買的「牛仔褲」,並將其重定向到「牛仔褲」頁面。現在他們將物品添加到他們的購物籃中,並且他們被重定向到「購物籃」頁面。

現在我在「購物籃」頁面上有一個按鈕叫做「繼續購物」。當他們點擊時,我需要將它們重定向到男士服裝產品列表,而不是主頁。

現在你說你要重定向到「男裝」頁面,但你必須確定爲什麼要重定向到該頁面。如果它始終是頁面,然後硬編碼:

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

雖然當你想返回頁面取決於加入到籃下什麼項目,你需要認識到要重定向到什麼頁以及該頁面與該項目的關係如何。

籃子頁面知道哪些項目被添加到籃子中。比如你想重定向到該項目的分類頁面,查找找到該項目是在中,然後跳轉到該頁面:

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

雖然這將您重定向到「牛仔褲」的頁面,因爲那是選擇的項目的類別。

現在看起來要重定向到類別的商品是在父類然後你的用戶是:

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

或任何你的數據模型的樣子。

+0

Downvoter,護理評論?依靠隱藏的輸入字段和引用是解決方法。 – CodeCaster

+0

您的方法似乎是一個很好的解決方案...我可以查找類別,然後將用戶重定向到該類別。+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"); 
} 

現在訪問已存儲在會話另一頁上的價值。做如下的會議 再見默認值回報是「對象」類型的,所以你可以使用顯式轉換

在這裏,我將在字符串對象的值在任何數據類型轉換,

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

這不適用於打開多個選項卡。 – CodeCaster