从Modelclass调用另一个方法到Controller

本文关键字:Controller 方法 另一个 Modelclass 调用 | 更新日期: 2023-09-27 17:50:32

我想从我的"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();
    }

这是ActionResult:

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

从Modelclass调用另一个方法到Controller

你的模型需要被传递回控制器让控制器知道它,然后只需调用EmptyCart()

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