.net 为什么Razor页面不设置get参数?

tmb3ates  于 2023-08-08  发布在  .NET
关注(0)|答案(2)|浏览(107)

当我尝试获取带有/?page=1参数的Razor页面时,我希望我的page参数是1,但它仍然是0。为什么不能从URL中读取,我能做些什么?

public async Task OnGetAsync(string[] tags, int page)
{
    _logger.Log(LogLevel.Information, $"New index request, page {page}");
    var find = new Api.FindApi(cs);
    posts = await find.Find(tags, Page*Constants.POST_PER_PAGE);
}

字符串
我也试过这个,但还是不行

[FromQuery(Name = "page")]
public int Page{get;private set;}

km0tfn4u

km0tfn4u1#

使用[FromQuery(Name ="page")]作为参数来解决这个问题,如下所示:

public async Task OnGetAsync([FromQuery(Name ="page")]int page, string[] tags)
{
    //Your Code
}

字符串

kzipqqlq

kzipqqlq2#

在Razor页面中,您可能应该在这些查询参数属性上使用BindProperty属性,而不是FromQuery属性。
您还应该删除Page的setter上的private修饰符

[BindProperty(SupportsGet = true)]
public int Page { get; set; }

字符串

相关问题