【发布时间】:2021-07-28 18:12:53
【问题描述】:
我有一个获取 FilterState 模型的控制器方法。
该模型包含一个过滤器模型列表,其中包含值属性,可以是任何值类型(int、字符串、日期时间等)。
我如何编写这个类并确定从前端传给我的属性类型?
[HttpGet]
public async Task<GridResultViewModel<ItemGridViewModel>> GetFiltered(int modelId,
[FromQuery] FilterState filterState)
{
...
}
public class FilterState
{
public int Skip { get; set; }
public int Take { get; set; }
public IEnumerable<Filter> Filters { get; set; }
}
public class Filter
{
public string Operator { get; set; }
public string Field { get; set; }
public ??? Value { get; set; } // this can be string, int, datetime etc.
}
如果我将 Value 属性设为对象或动态类型,则始终为 null。
我在前端使用 Angular 11。
【问题讨论】:
-
我认为这里唯一的选择是将类型设置为
string,然后,可能基于另一个属性,尝试解析为特定类型
标签: c# .net angular api generics