ASP.NET从ShopCart中删除所有项目

时间:2011-08-04 14:30:35

标签: asp.net

嘿,我有ShoppCart类,其中包含Class cartItems项目

所以我可以运行像

这样的函数
ShoppingCart.Instance.AddItem(5, 5, 16.0, "First Product", 15, 10)

ShoppingCart.Instance.Items.Count

ShoppingCart.Instance.RemoveItem(productId)

删除功能看起来像

' RemoveItem() - Removes an item from the shopping cart
Public Sub RemoveItem(ByVal productId As Integer)
    Dim removedItem = New CartItem(productId)

    For Each item As CartItem In Items
        If item.Equals(removedItem) Then
            Items.Remove(item)
            Return
        End If
    Next
End Sub

删除了一个项目,我正在查看一个可以用来清空我的购物车的功能,即在注销时我尝试了Session.Abandon,但是我再次登录它仍然记得我购物车中的物品。

3 个答案:

答案 0 :(得分:0)

目前还不清楚您的购物车中使用了哪种列表,但您可以尝试 -

Items.RemoveAll()

修改

我认为'RemoveAll()'方法需要一个谓词作为一个参数,这意味着你需要做这样的事情(这会起作用,但这是一件很奇怪的事情) -

Items.RemoveAll(x => 1==1)

或者在vb

list.RemoveAll(Function(x) 1 = 1) 

你可以试试这个 -

Items.RemoveRange(0, Items.Count)

答案 1 :(得分:0)

你可以这么做

ShoppingCart.Instance.Items.RemoveAll()

修改

不确定正在使用哪个集合。我想另一种简单的方法是重新初始化集合

ShoppingCart.Instance.Items = new Items();

答案 2 :(得分:0)

尝试拨打ShoppingCart.Instance.Items.Clear();

并且只是一个随机的猜测,如果您使用的是此处给出的示例购物车代码:http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=423(因为它看似相似)那么您还可以做的是,在ShoppingCart类中添加一个清除所有项目的新方法这样:

public void RemoveAll() {  
Items.Clear();
}