从Modelclass到Controller调用另一个方法

时间:2015-05-23 10:29:04

标签: c# asp.net asp.net-mvc models controllers

我想从我的“ShoppingCart”模型类调用一个方法到我的HomeController。如果执行Action“Complete”,我希望方法“EmptyCart”发生。有没有办法做到这一点?

这是模型类:

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

1 个答案:

答案 0 :(得分:0)

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

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

    return View();
}