Обновление: проблема заключалась в том, что методы OnGet были асинхронными. Спасибо всем за помощь и вклад!
На моей первой странице (Главная) я получаю список пользователей:
HomePageModel:
public async void OnGetAsync()
{
var everything = await _context.Users.ToListAsync();
GetUsers = everything;
}
Затем я создаю список пользователей на странице и ссылку, которая перенаправляет на страницу с другим списком ставок пользователей:
Домашняя страница:
<ul class="list-group">
@foreach (var user in Model.GetUsers)
{
<li class="list-group-item">
//Irrelevant stuff
<a asp-page="./UserBets" asp-route-id="@user.Id">View Bets</a>
</li>
}
</ul>
Это перенаправляет на UserBets, вот модель UserBets:
public async void OnGetAsync(string Id)
{
if (Id != null)
{ //Debugging
Message += Id;
using (var db = _context)
{
var everything = await _db.Bet.Where(a => a.UserId == Id).Select(s => s.MatchId).SingleAsync();
GetBets = everything;
}
}
}
Когда он туда попадает, я получаю сообщение:
System.ObjectDisposedException: 'Невозможно получить доступ к удаленному объекту. Распространенной причиной этой ошибки является удаление контекста, который был разрешен путем внедрения зависимости, а затем попытка использовать тот же экземпляр контекста в другом месте вашего приложения. Это может произойти, если вы вызываете Dispose () для контекста или заключаете контекст в оператор using. Если вы используете внедрение зависимости, вы должны позволить контейнеру введения зависимости позаботиться об удалении экземпляров контекста.
Имя объекта: 'AsyncDisposer'. '
Я пробовал без использования областей, чтобы они были на обеих моделях страниц.
Дело в том, что я не совсем понимаю проблему здесь, поэтому мне жаль, если я не даю вам достаточно контекста или кода, но спрашиваю, нужно ли вам больше.
Я хочу распечатать список ставок пользователей.
Заранее спасибо!