我正在 MVC 4 中创建购物应用程序,用户可以在购物车中添加商品,相应地显示购物车
public ActionResult GetShoppingCart(int cartID)
{
ShoppingCartActions userShoppingcart = new ShoppingCartActions();
userShoppingcart.AddToCart(cartID);
return View(userShoppingcart.GetCartItems());
}
然而,在页面刷新时,再次调用此ActionResult并添加重复条目。如何防止这种情况?
答案 0 :(得分:0)
您需要将其拆分为GET和POST请求:
public ActionResult GetShoppingCart()
{
ShoppingCartActions userShoppingcart = new ShoppingCartActions();
return View(userShoppingcart.GetCartItems());
}
[HttPost]
public ActionResult GetShoppingCart(int cartID)
{
ShoppingCartActions userShoppingcart = new ShoppingCartActions();
userShoppingcart.AddToCart(cartID);
return View(userShoppingcart.GetCartItems());
}
GET请求应该是幂等的,这意味着它不应该改变任何数据。 POST请求用于更改资源的数据。