我希望能夠使用查詢加載SQL查詢的結果集並將其保存到ASP.NET中的Session中?
select * from cart
,並保存在一個列表。在我的課CartItem,我已經定義
現在我想將它保存在一個會話ID,名稱,數量,和totalprice的屬性,所以,當在購物車中的用戶登錄。他以前的Cart項目應該通過sql查詢加載並保存到會話中。
現在我有以下代碼,但它不會從數據庫中加載客戶的上一個購物車。
的錯誤,我在做每一個顧客點擊查看車時間從SQL數據庫中裝載車。這是錯誤的。我應該保留在會話中。
public class ShoppingCart
{
#region ListCart
public static String cid;
public List<CartItem> Items { get; private set; }
public static SqlConnection conn = new SqlConnection(connStr.connString);
#endregion
#region CartSession
public static readonly ShoppingCart Instance;
static ShoppingCart()
{
if (HttpContext.Current.Session["ASPNETShoppingCart"] == null)
{
Instance = new ShoppingCart();
Instance.Items = new List<CartItem>();
HttpContext.Current.Session["ASPNETShoppingCart"] = Instance;
}
else
{
Instance = (ShoppingCart)HttpContext.Current.Session["ASPNETShoppingCart"];
}
}
這是我的購物車類,它持有產品添加到購物車。
public class CartItem : IEquatable<CartItem>
{
#region Attributes
public int Quantity { get; set; }
public static SqlConnection conn = new SqlConnection(connStr.connString);
private int _productId;
public int ProductId
{
get { return _productId; }
set
{
_product = null;
_productId = value;
}
}
private Product _product = null;
public Product Prod
{
get
{
if (_product == null)
{
_product = new Product(ProductId);
}
return _product;
}
}
public string Name
{
get { return Prod.ProductName; }
}
public string Description
{
get { return Prod.Description; }
}
public float UnitPrice
{
get { return Prod.UnitPrice; }
}
public float TotalPrice
{
get { return UnitPrice * Quantity; }
}
#endregion
#region Methods
public CartItem(int productId)
{
this.ProductId = productId;
}
public bool Equals(CartItem item)
{
return item.ProductId == this.ProductId;
}
#endregion
}
您在標題 – SWeko 2011-04-08 06:59:15
它。我已經根據我猜你的問題發佈了一個答案。如果我錯了,請澄清。 – user478636 2011-04-08 07:07:28
有大量的代碼,而不是一個具體的問題忘了問題... – SWeko 2011-04-08 07:15:37