我从数据库返回项目的后端看起来像这样
// GET: api/Members
[HttpGet]
public async Task<ActionResult<IEnumerable<Members>>> GetMembers()
{
return await _context.Members.ToArrayAsync();
}
可以确认我正在获取数据
我的目标达到了终点
private async Task GetMembers()
{
_members = await Http.GetJsonAsync<Members[]>("api/Members");
}
但是我从“成员”那里得到空值 “成员”是一个数组
private Members[] _members;
这是我空的消息
我在做什么错了?
编辑:成员和_members在图片和帖子中是相同的引用
答案 0 :(得分:0)
看起来您的htttp请求无效。您应该尝试对请求使用HttpClient并执行以下操作:
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("yourtUrl");
Members [] members = await response.Content.ReadAsAsync<Members[]>();
答案 1 :(得分:0)
所以我在Blazor http注入方面遇到问题,因此我将该服务注入为范围服务
services.AddScoped<MembersService>();
然后更改了后端服务
//GET: api/MembersService
[HttpGet]
public async Task<List<Members>> GetMembersAsync()
{
return new List<Members>(_context.members);
}
请注意,我需要在那里等候。
然后在客户端上
private async Task GetMembers()
{
_members = await memberService.GetMembersAsync();
}
_members是一个列表
private List<Members> _members;