2015-07-23 5 views
0

Когда я нажимаю, чтобы удалить элемент, все предметы удаляются с cartObjects. Я не понимаю, что все они удалены, а не только тот, у которого есть соответствующий идентификатор. Пожалуйста, помогите мне в этой проблеме.Как удалить предметы из корзины

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    if (e.CommandArgument.ToString().ToLower() == "remove") 
    { 
     GetCartId(Convert.ToInt32(e.CommandName)); 
    } 

} 

private void GetCartId(int CartId) 
{ 

    cartObjects.RemoveAll(i => i.Id == CartId); 
    Repeater1.DataBind(); 
} 

protected void btnRemove_Click(object sender, EventArgs e) 
{ 
    GetCartId(CartId); 

}  

Я импортирую свои данные через webapi.
Спасибо и приветствую.

+0

Вы проверили, что все предметы имеют разные идентификаторы? ;) и действительно ли элементы удалены (cartObjects.Count == 0) или вы просто не видите результат? Btw какой тип cartObjects? Когда он создается? –

+0

Элементы имеют разные идентификаторы –

+0

Сделайте разборку после того, как cartObjects удалите и проверьте, есть ли у него предметы после удаления. Его способность знать, что это проблема дисплея или кода. Поскольку код выглядит нормально при первом взгляде, я думаю, что его проблема с диспетчером или что экземпляр cartObjects воссоздается/теряется. Какой тип является cartObjects? Можете ли вы предоставить больше кода, показывающего, как определяется объект тележки? –

ответ

2

попробовать

cartObjects.Where(x => x.Id != CartId).ToList(); 

Вы должны быть в состоянии отфильтровать все элементы, имеющие Id равно «CartId» с выше.

Смежные вопросы