nopcommerce 从操作中的批量产品编辑表单中获取值

网络开发人员

好的,我的操作过滤器可以工作,但我不确定如何从批量编辑表单中提取值。

我已经在依赖注册器中注册了过滤器。

这是我的过滤器:

using Nop.Admin.Controllers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;

namespace Nop.Plugin.Feed.Froogle.Actions
{
    public class BulkEditOverideActionFilter : ActionFilterAttribute, IFilterProvider
    {
        public IEnumerable<Filter> GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
        {
            if (controllerContext.Controller is ProductController && actionDescriptor.ActionName.Equals("BulkEditUpdate", StringComparison.InvariantCultureIgnoreCase))
            {
                return new List<Filter>() { new Filter(this, FilterScope.Action, 0) };
            }
            return new List<Filter>();
        }

        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            System.Diagnostics.Debug.WriteLine("The filter action is = " + filterContext.ActionDescriptor.ActionName.ToString());
            if (filterContext != null)// && amazonListingActive == true
            {
                var form = (FormCollection)filterContext.ActionParameters.FirstOrDefault(x => x.Key == "form").Value;
                foreach (var i in form.Keys)
                {
                    System.Diagnostics.Debug.WriteLine("The key value is = " + i);
                }
            }
        }
    }

任何人都知道我如何完成这一点。

网络开发人员

好的,所以我想通了。该表单返回一个 namevaluecollection,因此必须使用它来获取值。

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
        var httpContext = HttpContext.Current;
        if (httpContext != null && httpContext.Request.Form.HasKeys())
        {

            var form = filterContext.HttpContext.Request.Form;
            var products = form.AllKeys.SelectMany(form.GetValues, (k, v) => new { key = k, value = v });
            System.Diagnostics.Debug.WriteLine("The form is = " + form);

            if (form != null)
            {
                foreach (var pModel in products)
                {
                    System.Diagnostics.Debug.WriteLine("The pModel.Key is = " + pModel.key);
                    System.Diagnostics.Debug.WriteLine("The pModel.Value is = " + pModel.value);
                }
            }
        }
}

更新这就是为什么我这样做并且无法使用请求表的原因。

我有一个产品保存事件,用于在我创建的附加产品编辑选项卡中保存信息。在那里我可以像这样使用请求表。

public class ProductSaveConsumer : IConsumer<EntityFinalised<Product>>
{
    public void HandleEvent(EntityFinalised<Product> eventMessage)
    {
        var httpContext = HttpContext.Current;
        if (httpContext != null) {
            amazonProduct = new AmazonProduct();
            var form = httpContext.Request.Form;
            //now I can grab my custom form values
            if (!String.IsNullOrEmpty(form["AmazonProductSKU"]))
                amazonProduct.AmazonProductSKU = form["AmazonProductSKU"].ToString();
        }
    }
}

但是批量编辑过滤器返回一个 NameValueCollection,所以我不能使用 Request.Form

希望这对其他人有帮助:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

nopCommerce中的相关产品属性

来自分类Dev

在nopcommerce3.3中获取当前客户

来自分类Dev

在nopcommerce3.3中获取当前客户

来自分类Dev

Nopcommerce产品列表控制器

来自分类Dev

如何在NopCommerce中获得产品视图计数?

来自分类Dev

如何在Nopcommerce中覆盖视图?

来自分类Dev

如何在NopCommerce中添加新表?

来自分类Dev

在nopCommerce 3.70中引导Maga菜单

来自分类Dev

未在Nopcommerce中插入活动日志

来自分类Dev

nopCommerce 3.40中的“ TypeError:$(...)。magnificPopup不是函数”

来自分类Dev

新表的服务注册中的Nopcommerce错误

来自分类Dev

在NopCommerce中创建自定义任务

来自分类Dev

SSL 在 nopcommerce 中不起作用

来自分类Dev

抱歉-您最后的操作无法在Nopcommerce的Paypal中完成

来自分类Dev

NopCommerce:在类别主页上显示最畅销的产品

来自分类Dev

添加自定义产品输入字段NopCommerce

来自分类Dev

nopcommerce中的插件和小部件之间的区别

来自分类Dev

根据nopcommerce中的访问控制,在管理端隐藏插件菜单

来自分类Dev

如何检测adblock是否在nopcommerce中阻止“使用Facebook登录”?

来自分类Dev

在购物车nopCommerce中添加其他按钮

来自分类Dev

nopcommerce中的插件和小部件之间的区别

来自分类Dev

如何覆盖控制器或其在NopCommerce插件中的方法?

来自分类Dev

无法在 nopcommerce 的 UrlRecord 表中插入客户 SeName

来自分类Dev

忽略 nopcommerce 中语言字符串的提示

来自分类Dev

启用SSL时NopCommerce商店内页未获取

来自分类Dev

启用SSL时NopCommerce商店内页未获取

来自分类Dev

nopCommerce:如何在购物车中预装2种产品?

来自分类Dev

NopCommerce PCI

来自分类Dev

单击一个按钮即可将多个产品添加到购物车中-NopCommerce

Related 相关文章

热门标签

归档