【发布时间】:2019-09-27 06:56:12
【问题描述】:
我在 Asp.Net Core 2.2 上的 Razor 页面遇到了有趣的问题。我有一个带有异步获取的页面(不是部分的普通页面):
public async Task<IActionResult> OnGetAsync()
{
Accounts = new List<DbAccount>();
AccountRequest accountRequest = new AccountRequest(User.FindFirst("BearerToken").Value);
await ClientRequest.ExecuteRequest(accountRequest);
if (accountRequest.StatusCode != HttpStatusCode.OK)
{
ModelState.AddModelError("ERROR", "Login error");
return Page();
}
else
{
var data = JsonConvert.DeserializeObject<List<DbAccount>>(accountRequest.ResponseContent);
Accounts.AddRange(data);
return Page();
}
}
Get 正常执行,并且有数据要添加到 Accounts.AddRange() 但在页面稍后,当我尝试迭代该集合时,Model 为 null。
@foreach(var account in Model.Accounts)
{
<tr>
...
</tr>
}
当然,我在 Model.Accounts 上得到 NullReferenceException。问题出在哪里?在同一个项目中,在没有异步的正常获取中,模型不为空。属性Accounts 设置为BindProperty。
我做错了什么?
【问题讨论】:
标签: c# asp.net-core razor razor-pages