0

Asp.net 3.0 で開発された小売 Web サイトに取り組んでいます。私はカートシステムを持っているので、ユーザーがカートにアイテムを追加すると、バスケットページにリダイレクトされます。そして、バスケットページに戻ってアイテムを追加するためのボタンがあります。私はそれを行う方法がわかりません。

これがケースです。

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

ユーザーが紳士服にアクセスすると、すべてのアイテムが表示され、購入したいジーンズを 1 つ選択すると、ジーンズのページにリダイレクトされます。今、彼らはバスケットにアイテムを追加し、バスケットページにリダイレクトされます.今、私はバスケットページに「買い物を続ける」と呼ばれるボタンを持っています.ホームページの代わりに紳士服の商品リスト。

CASE 1

私はそれをグーグルで検索し、URLReferrer を使用して、それが null かどうかを確認できることを発見しました。しかし、私の場合、ジーンズページでResponse.Redirectを使用しているため、常にバスケットページのURLです。だから私はURLReferrerを使うことができません。

CASE 2

また、Javascript History を使用すると、1 ページまたは 2 ページに戻ることができることもわかりました。しかし、ユーザーデータとCARTを保存したいので、ブラウザキャッシュを使用し、ユーザーデータを保存しないため、それも使用できません。

CASE 3

コンテキストまたはセッションを使用して、現在のページ URL をジーンズ ページに保存することを考えていました。バスケット ページで確認できます。null でない場合は、そのページにリダイレクトします。しかし、もう一歩戻りたいと思います。ジーンズのページではなく、紳士服のページです。

これが良いアイデアになるかどうかは本当にわかりません。提案してください。

ありがとう...

4

4 に答える 4

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 には、追加した製品が含まれます。

于 2013-01-31T10:21:51.237 に答える
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();
}
于 2013-01-31T10:46:04.390 に答える
0

asp.net で簡単な状態管理を行う方法の 1 つは、隠しフィールドを使用することです。非表示フィールドを使用して場所を保存し、バスケット ページに渡します。

于 2013-01-31T10:26:03.827 に答える
0

ユーザーが「紳士服」に移動すると、すべてのアイテムが表示され、購入したい「ジーンズ」を 1 つ選択すると、「ジーンズ」ページにリダイレクトされます。アイテムをバスケットに追加すると、「バスケット」ページにリダイレクトされます。

これで、「買い物を続ける」という「買い物かご」ページにボタンができました。彼らがクリックすると、ホームページではなく紳士服の商品リストにリダイレクトする必要があります。

ここで、「Mens Clothing」ページにリダイレクトするとしますが、そのページにリダイレクトする理由を決定する必要があります。常にそのページである場合は、次のようにハードコーディングします。

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

カートに入れられた商品によって、戻りたいページが変わる場合もありますが、どのページにリダイレクトしたいのか、そのページとその商品との関係を理解する必要があります。

バスケット ページは、バスケットに追加されるアイテムを認識します。たとえば、そのアイテムのカテゴリ ページにリダイレクトする場合は、このアイテムが属するカテゴリを検索し、そのページにリダイレクトします。

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

「ジーンズ」ページにリダイレクトされますが、それが選択したアイテムのカテゴリであるためです。

アイテムが属するカテゴリの親カテゴリにリダイレクトしたいようです。次に、次のように使用します。

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

または、データモデルがどのように見えるか。

于 2013-01-31T10:30:13.917 に答える