2013-05-14 75 views
1
List<ShoppingCartView> removeitem = (List<ShoppingCartView>)Session["ShoppingView"]; 

我想删除单击该特定产品的行。例如,如果我点击产品xxx并希望从会话[“ShoppingView”]中删除产品xxx,则列表的其余部分应保持不变。从会话列表中删除特定项目

+0

你如何设置'会话[ “ShoppingView” ]'?什么是'ShoppingCartView'? – Damith 2013-05-14 08:47:59

回答

2

你必须编辑状态相应

var list = (List<ShoppingCartView>)Session["ShoppingView"]; 
Session["ShoppingView"] = list.Where(x => x.ProductName!= "pname").ToList(); 
+0

谢谢,我得到了我的输出 – user2380844 2013-05-16 06:46:01

+0

我确实接受了您的解决方案 – user2380844 2013-05-16 07:08:44

1

您可以使用Remove

Session["ShoppingView"] = (List<ShoppingCartView>)Session["ShoppingView"].Remove((List<ShoppingCartView>)Session["ShoppingView"].Where(x => x.id== sessionItemToRemove).ToList()); 
+0

雅我试过,我甚至通过了这样的id int sessionItemToRemove = Int32.Parse(((Label)e.Item.FindControl(“proid”))。但在分配id以从session.i中删除时出现错误wnt知道如何通过产品xx的id从会话中删除xx – user2380844 2013-05-14 08:46:33

+0

在执行此操作后刷新屏幕后会发生什么?那么变化是否会发生?我会考虑在你的代码中添加一个foreach循环,遍历所有的值,以确保你所比较的值是你期望的值! – Dave 2013-05-14 08:47:36

+0

int sessionItemToRemove = Int32.Parse(((Label)e.Item.FindControl(“proid”))。Text); var cart = Session [“ShoppingView”]作为List ; cart.Remove(sessionItemToRemove);移除在运行时显示错误 – user2380844 2013-05-14 08:52:02

0

你可以像下面这样做

List<string> foo = Session["ShoppingView"]; 
foo.Remove("xxx"); 
Session["ShoppingView"] = foo;