Asp.net mvc 4 我在mvc4中执行addcart功能吗?如果我删除购物车中的单个项目,它不会删除任何内容吗?

Asp.net mvc 4 我在mvc4中执行addcart功能吗?如果我删除购物车中的单个项目,它不会删除任何内容吗?,asp.net-mvc-4,Asp.net Mvc 4,我在mvc4中执行addcart功能吗?如果我删除购物车中的单个项目,它不会删除任何内容吗 我的控制器动作是 ManageDatabase _db = new ManageDatabase(); List<Product> cartList = new List<Product>(); public ActionResult Deletecart(int id) { var prod = _db.product.Find(id);

我在mvc4中执行addcart功能吗?如果我删除购物车中的单个项目,它不会删除任何内容吗

我的控制器动作是

ManageDatabase _db = new ManageDatabase();

List<Product> cartList = new List<Product>();

 public ActionResult Deletecart(int id)
    {
        var prod = _db.product.Find(id);

        int CartLen = 0;
        cartList.Remove(prod);

        cartList = (List<Product>)System.Web.HttpContext.Current.Application["cartList"]; 


        CartLen = cartList.Count;


        System.Web.HttpContext.Current.Application["CartLen"] = CartLen;

        return RedirectToAction("Details", "Home");



    }
ManageDatabase\u db=newmanagedatabase();
List cartList=新列表();
public ActionResult Deletecart(内部id)
{
var prod=_db.product.Find(id);
int CartLen=0;
cartList.Remove(prod);
cartList=(List)System.Web.HttpContext.Current.Application[“cartList”];
CartLen=cartList.Count;
System.Web.HttpContext.Current.Application[“CartLen”]=CartLen;
返回重定向到操作(“详细信息”、“主页”);
}

根据您的要求,请按以下步骤操作:

ManageDatabase _db = new ManageDatabase();

List<Product> cartList = new List<Product>();

public ActionResult Deletecart(int id) // tell me the value of id
{
    // put breakpoint on next line and click DEBUG
    var prod = _db.product.Find(id); // tell me the value of prod

    int CartLen = 0;
    cartList.Remove(prod); 

    // tell me the value of cartList
    cartList = (List<Product>)System.Web.HttpContext.Current.Application["cartList"]; 

    CartLen = cartList.Count;

    System.Web.HttpContext.Current.Application["CartLen"] = CartLen;

    return RedirectToAction("Details", "Home");
}
ManageDatabase\u db=newmanagedatabase();
List cartList=新列表();
public ActionResult Deletecart(int-id)//告诉我id的值
{
//将断点放在下一行,然后单击调试
var prod=_db.product.Find(id);//告诉我prod的值
int CartLen=0;
cartList.Remove(prod);
//告诉我cartList的价值
cartList=(List)System.Web.HttpContext.Current.Application[“cartList”];
CartLen=cartList.Count;
System.Web.HttpContext.Current.Application[“CartLen”]=CartLen;
返回重定向到操作(“详细信息”、“主页”);
}

一旦我们知道了您的变量是什么,我们就可以告诉您出了什么问题。

调试时,
cartList.Remove(prod)返回?怎么样
cartList
?此外,您似乎没有在任何地方调用
\u db.SaveChanges()
。现在,我再次看到代码,您将
cartList
初始化为新的(空)列表。然后你从中删除了
prod
,这毫无意义。看起来你认为控制器级别的变量在调用之间是保留的?我仍然没有得到输出…你能用代码指导我吗?