C# 从Modelclass调用另一个方法到控制器

C# 从Modelclass调用另一个方法到控制器,c#,asp.net,asp.net-mvc,models,controllers,C#,Asp.net,Asp.net Mvc,Models,Controllers,我想从我的“ShoppingCart”模型类调用一个方法到我的HomeController。如果操作“Complete”被执行,我希望方法“EmptyCart”发生。有什么好办法吗 这是modelclass: public class ShoppingCart { FotobutikkJLCDbContext db = new FotobutikkJLCDbContext(); string ShoppingCartId { get; set; } public v

我想从我的“ShoppingCart”模型类调用一个方法到我的HomeController。如果操作“Complete”被执行,我希望方法“EmptyCart”发生。有什么好办法吗

这是modelclass:

public class ShoppingCart
{
    FotobutikkJLCDbContext db = new FotobutikkJLCDbContext();

    string ShoppingCartId { get; set; } 

    public void EmptyCart()
    {
     var cartItems = db.Carts.Where(cart => cart.CartId == ShoppingCartId);

     foreach (var cartItem in cartItems)
        {
            db.Carts.Remove(cartItem);
        }

        // Save changes
        db.SaveChanges();
    }
这就是行动的结果:

public class HomeController : Controller
{
    public ActionResult Complete()
    {
        ViewBag.Message = "Complete";

        return View();
    }
}

您的模型需要传回控制器,以便控制器了解它,然后只需调用
EmptyCart()

public ActionResult Complete(ShoppingCart shoppingCart)
{
    ViewBag.Message = "Complete";
    shoppingCart.EmptyCart();

    return View();
}