我想提出一个简单的解决办法。NET Core 2.0 Web应用程序,带有Razor页面。该页面连接到一个同样简单的Core 2.0 Web API。我有一个简单的课程:
public class About : PageModel
{
private ServiceProxy serviceProxy;
public About(ServiceProxy serviceProxy)
{
this.serviceProxy = serviceProxy;
}
public IEnumerable<ProductViewModel> Values { get; set; }
public async void OnGetAsync()
{
this.Values = await this.serviceProxy.GetValuesAsync();
}
}
页面也很简单:
@page
@model About
@{
ViewData["Title"] = "About";
}
<h2>@ViewData["Title"]</h2>
<h3>@Model.Message</h3>
@foreach (var product in @Model.Values)
{
<p>@product.Name</p>
}
但是,页面显示在
OnGetAsync()
“方法”可以填充“值”列表。这似乎是一个很常见的操作,但我找不到任何关于它的讨论(我还尝试了迭代异步“GetValues()”方法)。
CSHTML页面应该如何与可能需要几秒钟才能返回结果的Web API交互?