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

C# 使用filterContext nopcommerce为购物车项目添加警告,c#,asp.net,asp.net-mvc,nopcommerce,nop,C#,Asp.net,Asp.net Mvc,Nopcommerce,Nop,导言 我正在为nopcommerce中的shoppingcart/cart使用新添加的过滤器 public void OnActionExecuted(ActionExecutedContext filterContext) { bool IsShoppingCart = (filterContext.RouteData.Values["controller"].Equals("ShoppingCart") &am

导言

我正在为nopcommerce中的shoppingcart/cart使用新添加的过滤器

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作为ViewResultBase; 如果(结果==null) { 返回; }

请让我知道,如果这是不正确的或有潜在的缺点。谢谢

                                    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;