我已经启动了一个新的asp.net核心应用程序,并且我能够从模型中获取要显示的值-但只能获取文件开头的属性中的值。
如果我在运行时更改它们,更改不会显示-但是通过我的调试器,我可以看到模型值实际上是更改为正确的值。这可能与执行的方式或顺序有关。
这是我的开始:
public class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
public string telephone { get; set; } = "empty";
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
LoadData();
}
private async void LoadData()
{
var userService = new RemoteUserService();
var test = await userService.GetItemByEmail("asd@asd.de");
if (test != null)
{
telephone = test[0].Telephone;
}
}
public void OnGet()
{
}
}
CodeBehind:
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
<p>@Model.telephone</p>
</div>
同样,属性被正确地找到了,只是一旦RemoteUserService
下载了值,数据就不会改变。
编辑:一个问题似乎是没有等待对负载数据的调用...
1条答案
按热度按时间juud5qan1#
所以问题是我没有等待结果。这里会起作用: