Actionresult在刷新时被解雇

时间:2015-07-26 17:55:40

标签: c# asp.net-mvc-4

我正在 MVC 4 中创建购物应用程序,用户可以在购物车中添加商品,相应地显示购物车

    public ActionResult GetShoppingCart(int cartID)
    {
        ShoppingCartActions userShoppingcart = new ShoppingCartActions();
        userShoppingcart.AddToCart(cartID);
        return View(userShoppingcart.GetCartItems());

    }

然而,在页面刷新时,再次调用此ActionResult并添加重复条目。如何防止这种情况?

1 个答案:

答案 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请求用于更改资源的数据。