我有一个使用 UCommerce 构建的电子商务网站。在结帐过程中,用户将被重定向到支付门户进行支付。
当用户在支付门户中时,我想阻止用户在购物篮中添加新项目。我目前的解决方案是在将用户重定向到支付门户之前将购物篮保存到Session中。
Session["checkoutOrder"] = TransactionLibrary.GetBasket(!TransactionLibrary.HasBasket()).PurchaseOrder;
付款后如何用 Session 中的购物篮覆盖当前购物篮?这是为了将篮子恢复到付款前的原始状态。
我试过这个:
[HttpPost]
public ActionResult ExecutePayment()
{
var order = Session["checkoutOrder"] as PurchaseOrder;
order.Save();
...
}
但是我在 order.Save() 上遇到错误:
Batch update returned unexpected row count from update; actual row count: 0; expected: 1