Здравствуйте. Я следую очень полезному руководству по добавлению нумерации страниц в блазор по этой ссылке: https://www.youtube.com/watch?v=kGvmAeSObsA. Моя проблема в том, что я пошел вперед и создал вспомогательный класс и задачу, передающую httpcontext. Это код для моего помощника:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
namespace TranactionJournalV4.Helpers
{
public static class HttpContextExtensions
{
public static async Task InsertPaginationParameterInResponse<T>(this HttpContext httpContext,
IQueryable<T> queryable, int recordsPerPage)
{
double count = await queryable.CountAsync();
double pagesQuantity = Math.Ceiling(count / recordsPerPage);
httpContext.Response.Headers.Add("pagesQuantity", pagesQuantity.ToString());
}
}
}
, и это мой контроллер, который использует этот помощник
using TranactionJournalV4.Helpers;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using TranactionJournalV4.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Authentication.JwtBearer;
namespace TranactionJournalV4.Data
{
[ApiController]
[Route("api/[controller]")]
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class SearchService : ControllerBase
{
private readonly SqlDbContext context;
public int Page { get; set; } = 1;
public SearchService(SqlDbContext context)
{
this.context = context;
}
[HttpGet]
[AllowAnonymous]
public async Task<List<TransactionModel>> SearchTransactionsAsync(DateTime transactionDate, [FromQuery] PaginationDTO pagination)
{
var queryable = context.TransactionJournal.Where(s => s.TransactionDateTime <= transactionDate).AsQueryable();
await HttpContext.InsertPaginationParameterInResponse(queryable, pagination.QuantityPerPage);
return await queryable.Paginate(pagination).ToListAsync();
}
}
}
Теперь, когда я go через код, кажется, что все идет отлично, пока не дойдет до вспомогательного класса, мой httpcontext, кажется, продолжает показываться как нулевой. Кажется, я не могу понять, почему. Любая помощь будет оценена. Спасибо!