使用filterContext nopcommerce为购物车项目添加警告

问题描述

简介

我正在为nopcommerce中的购物车/购物车使用新添加的过滤器。

public void OnActionExecuted(ActionExecutedContext filterContext)
{
  bool IsShoppingCart = (filterContext.RouteData.Values["controller"].Equals("ShoppingCart")
                   && (filterContext.RouteData.Values["action"].Equals("Cart")));
  var result = filterContext.Result as ViewResultBase;
  if (result == null){return;}
  var model = result.Model;
//get model and add warnings for items in the model
}

随同Cartitems一起传递警告,因此可以 显示。例如,当我们添加到 购物车并删除产品。

问题

我正在尝试找到一种解决方案,可以在过滤器中添加/编辑警告并返回响应。所以我的自定义警告在存在时会添加到购物车中。自定义警告可能与我的业务逻辑无关。

如果有人有想法,请帮助。谢谢您的时间。

解决方法

我已经成功完成了如下操作

var result = filterContext.Result as ViewResultBase; 如果(结果==空) { 返回; }

                                    var itm = result.ViewData.Model as dynamic;

                                    foreach (Nopcommerce.Web.Models.ShoppingCart.ShoppingCartModel.ShoppingCartItemModel item in itm.Items)
                                    {
                                        if (l.Item.ProductId == item.ProductId)
                                        {
                                            item.Warnings.Add("new warning.");
                                            
                                        }
                                    }
                                    //update with modified entries
                                    result.ViewData.Model = itm as Nopcommerce..Web.Models.ShoppingCart.ShoppingCartModel;

请告诉我这是否不正确或存在潜在的缺陷。谢谢

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...