从 Modelclass 调用另一个方法到 Controller

Calling another method from Modelclass to Controller

我想从我的 "ShoppingCart" 模型 class 调用一个方法到我的 HomeController。如果执行操作 "Complete",我希望方法 "EmptyCart" 发生。有没有好的方法来做到这一点?

这是模型class:

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();
    }

这是 ActionResult:

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();
}