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