c# - C# ASP.NET MVC - 无法获取我从前端收到的 POST 数据的属性/数据
问题描述
我从前端发送了一个 POST 请求,其中包含我无法更改其结构的以下数据:
我正在尝试获取“过滤器”数据。
我为以下数据创建了一个模型,如下所示:
namespace Project.Models
{
public class FooBar
{
public int skip { get; set; }
public int page { get; set; }
public Object filter { get; set; }
}
}
但是,当尝试从 POST 请求中提取数据时,我得到了跳过/页面变量,但只得到了 {object} 用于我无法扩展的过滤器
我拥有的控制器是这样写的:
public HttpResponseMessage Foo([FromBody] FooBar request)
{
...
}
为什么我无法扩展对象或访问它的任何属性,我该如何更改?
解决方案
尝试在模型中重现请求结构并将其用作操作参数。
public class FilterPageModel {
public int skip { get; set; }
public int page { get; set; }
public Filter filter{ get; set; }
}
public class Filter
{
public string logic{ get; set; }
public List<FieldFilter> filters{ get; set; }
}
public class FieldFilter
{
public string field{ get; set; }
public string operator{ get; set; }
public string value{ get; set; }
}
然后在控制器中:
public ActionResult Foo (FilterPageModel model){
//...
}
推荐阅读
- css - 如何将文本与图像对齐
- git - git clone 斜杠
- php - 验证电子邮件时会生成两次随机数
- javascript - javascript中带有ajax调用的承诺链
- .net-core - 将 IncludeFilter 与 Async 一起使用时出错;IncludeFilter 不支持异步
- google-app-engine - 我可以在 DockerFile 中进行哪些更正以成功通过我的构建
- angular - 如何将变量从一个组件传递到同一级别的另一个组件?
- regex - 用于分割字符串的正则表达式
- angular - 需要帮助减少 Google 身份验证登录时间
- wpf - 调用 WCF 服务时参数的函数转换不成功