ユーザーがselectリンクをクリックしたときにgridviewからproductID
を取得するために、以下のコードを記述しました。ユーザーは、この複数のクリックをクリックするとGridView内のアイテムを選択してリストに追加する
Convert.ToInt32(GridView1.SelectedDataKey.Values["productID"])))
しかし、新しい値が以前に置き換えられます。ユーザーが新しいアイテムをクリックしたときにカートリストに追加し続ける方法はありますか?
ここでショッピングページのための私のコードです:
public partial class _Default : System.Web.UI.Page
{
List<BasketClass> cart = new List<BasketClass>();
protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
{
cart.Add(new BasketClass(Convert.ToInt32(GridView1.SelectedDataKey.Values["BookID"])));
Session.Add("CartSess", cart);
Response.Redirect("Basket.aspx");
}
}
私は、リストを作成する場所が重要であれば知らない感覚
おかげ
編集が可能
・ホープ?新しいインスタンスを作成し続ける場合、クリックイベントに配置されたかどうかは不明でしたか?
は、次にバスケットページのために私が持っている:
protected void Page_Init(object sender, EventArgs e)
{
List<BasketClass> cart = (List<BasketClass>)Session["CartSess"];
foreach (BasketClass BookID in cart)
{
GridView1.DataSource = cart;
GridView1.DataBind();
AccessDataSource1.SelectCommand = "SELECT [BookID], [book_title] FROM [tblBook] ";
}
}
この部分はよく見えます。選択した製品を使って何をしているのかをもう少し見ることができますか?どのようにカートの内容を保管していますか? – Marcie