http get 方法参数中对象的属性始终为 0

properties in objects in parameter for http get method always 0

我正在为这个项目使用 .net core 2.0。

我目前有一个简单的 http get 方法来搜索对象。由于想给参数添加分页,所以添加了分页对象

问题是每次我调用该方法时,分页对象都有默认值(限制和偏移量始终为 0)

我尝试了几种选择,但其中 none 行得通。我会 post 我的代码来显示我的问题。

控制器方法如下所示:

[HttpGet]
[Route("searchByName")]
public async Task<IActionResult> SearchByName(string searchText, [FromQuery] Paging paging)
{
    // Searching and returning results
}

分页对象如下所示:

[DataContract]
public class Paging
{
    public Paging()
    {
    }

    public Paging(int offset, int limit)
    {
        Limit = limit;
        Offset = offset;
    }

    [FromQuery(Name = "Limit")]
    public int Limit { get; }
    [FromQuery(Name = "Offset")]
    public int Offset { get; }
}

每次大摇大摆的调用方法UI,limit和offset都是0

这是我调试时进入的方法:

我是不是忘记了什么?我总是可以将参数更改为两个整数,但我更愿意使用如上所示的对象。如果我忘了添加一些东西,请告诉我!

恢复属性 set;

根据提供的数据创建了一个新的 Paging 实例,但是,由于 属性-values 没有在空构造函数中设置,并且不可设置,所以它们仍然是它们的默认值。