SianiD
سه شنبه 23 مهر 1392, 15:06 عصر
سلام من دارم یه سبد خرید درست میکنم . با استفاده از Session که به یک مشکل بر خوردم .
کاری که انجام دادم : با استفاده از ایجکس کد محصول رو میفرستم به یک Api و در api این کد ها وجود دارند :
public int Get(int ProductID)
{
int cartitemscount = 0;
var Session = HttpContext.Current.Session;
List<ProductInShoppingCart> products = new List<ProductInShoppingCart>();
if (Session["ShoppingCartItems"] != null)
{
products = Session["ShoppingCartItems"] as List<ProductInShoppingCart>;
ProductInShoppingCart selected = products.Find(p => p.ProductID == ProductID);
if (selected != null)
{
selected.ProductCount++;
int index = products.FindIndex(p => p.ProductID == ProductID);
products[index] = selected;
}
else
{
selected = new ProductInShoppingCart() { ProductID = ProductID, ProductCount = 1 };
products.Add(selected);
}
Session["ShoppingCartItems"] = products;
}
else
{
ProductInShoppingCart selected = new ProductInShoppingCart() { ProductID = ProductID, ProductCount = 1 };
products.Add(selected);
Session["ShoppingCartItems"] = products;
}
foreach (var productInShoppingCart in products)
{
cartitemscount += productInShoppingCart.ProductCount;
}
return cartitemscount;
}
اما تو if اول که کدش پایین نوشتم ارور میده :
if (Session["ShoppingCartItems"] != null)
ارورش هم اینه :
Object reference not set to an instance of an object.
کاری که انجام دادم : با استفاده از ایجکس کد محصول رو میفرستم به یک Api و در api این کد ها وجود دارند :
public int Get(int ProductID)
{
int cartitemscount = 0;
var Session = HttpContext.Current.Session;
List<ProductInShoppingCart> products = new List<ProductInShoppingCart>();
if (Session["ShoppingCartItems"] != null)
{
products = Session["ShoppingCartItems"] as List<ProductInShoppingCart>;
ProductInShoppingCart selected = products.Find(p => p.ProductID == ProductID);
if (selected != null)
{
selected.ProductCount++;
int index = products.FindIndex(p => p.ProductID == ProductID);
products[index] = selected;
}
else
{
selected = new ProductInShoppingCart() { ProductID = ProductID, ProductCount = 1 };
products.Add(selected);
}
Session["ShoppingCartItems"] = products;
}
else
{
ProductInShoppingCart selected = new ProductInShoppingCart() { ProductID = ProductID, ProductCount = 1 };
products.Add(selected);
Session["ShoppingCartItems"] = products;
}
foreach (var productInShoppingCart in products)
{
cartitemscount += productInShoppingCart.ProductCount;
}
return cartitemscount;
}
اما تو if اول که کدش پایین نوشتم ارور میده :
if (Session["ShoppingCartItems"] != null)
ارورش هم اینه :
Object reference not set to an instance of an object.