首页 > 解决方案 > 无法从 Http.QueryString 转换为 System.collections.IEqualityComparer

问题描述

我想获取要在 URL 中附加的所有 QueryString 列表,下面的代码在 asp.net mvc 中完美运行,但是当我将它移到 Asp.net Core 时,该方法的第二行显示错误

无法从 Micorosoft.AspNetCore.Http.QueryString 转换为 System.Collection.IEqaulityComparer

 void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
    {

           var req = filterContext.HttpContext.Request;

           var queryStringParams = new NameValueCollection(req.QueryString);

                foreach (string x in queryStringParams)
                {
                    if (controllerName.Equals("Company") && queryStringParams.AllKeys.Length > 1)
                    {
                        if (x.Equals("typ"))
                        {
                            if (!string.IsNullOrEmpty(param))
                                param = "&" + param;
                            param = x + "=" + queryStringParams[x];

                            break;
                        }
                    }

                    if (!string.IsNullOrEmpty(param) && !param.Equals("q"))
                    {
                        if (!string.IsNullOrEmpty(param))
                            param = "&" + param;
                        param = x + "=" + queryStringParams[x];
                    }



                    base.OnActionExecuting(filterContext);
                }
            }
        }

    }

标签: c#asp.net-coreactionfilterattribute

解决方案


推荐阅读