Asp.net core 动态参数在Put方法中不起作用
我正在将解决方案从asp net迁移到asp net核心。当我测试这个方法时Asp.net core 动态参数在Put方法中不起作用,asp.net-core,.net-core,asp.net-core-mvc,asp.net-core-webapi,Asp.net Core,.net Core,Asp.net Core Mvc,Asp.net Core Webapi,我正在将解决方案从asp net迁移到asp net核心。当我测试这个方法时 [HttpPut, Route("SearchPrices")] public dynamic SearchPrices(dynamic data) { var list = from ma in db.Materials select new { ma.Mater
[HttpPut, Route("SearchPrices")]
public dynamic SearchPrices(dynamic data)
{
var list = from ma in db.Materials
select new
{
ma.MaterialID,
ma.MaterialTypeID,
ma.StatusID,
ma.Horsepower,
ma.MaterialPrice
};
list = list.OrderBy(s => s.MaterialID);
string filterString = data.filterString;
if (!string.IsNullOrEmpty(filterString))
{
list = list.Where(ma => new[] {
ma.MaterialID,
ma.MaterialPrice.ToString(),
ma.MaterialTypeID
}.Any(c => c.Contains(filterString)));
}
dynamic sort = data.sort;
string column = sort.column;
if (!string.IsNullOrEmpty(column))
{
bool reverse = sort.reverse;
list = list.OrderByColumn(column, reverse);
}
return FilterByColumn(list, data);
}
我收到一个参数,其内容如下
ValueKind = Object : "{"filterString":"","options":[],"skipNumber":0,"takeNumber":50,"sort":{"column":"","reverse":false}}"
在这种情况下,我无法使其像以前一样工作,它在尝试解决“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“”System.Text.Json.JsonElement“”不包含“filterString”的定义时抛出错误
我已经尝试了一些反序列化的解决方案,但是没有成功。您可能希望使用Json.NET,而不是System.Text.Json。请参阅,了解如何执行此操作。您可能希望使用Json.NET,而不是System.Text.Json。有关如何做到这一点,请参阅。