Access ASP.NET Web API from Blazor razor page.
Razor Page
@page "/fetchdata"
@using System.Net.Http
@inject HttpClient Http
@if (products == null)
{
<p><em>Loading...</em></p>
}
else
{
<table class="table">
<thead>
<tr>
<th>ItemId</th>
<th>Name</th>
</tr>
</thead>
<tbody>
@foreach (var product in products)
{
<tr>
<td>@product.ItemId</td>
<td>@product.Name</td>
</tr>
}
</tbody>
</table>
}
@code {
class Product
{
public int ItemId { get; set; }
public string Name { get; set; }
}
private Product[] products;
protected override async Task OnInitializedAsync()
{
products = await Http.GetJsonAsync<Product[]>("https://mywebapi.azurewebsites.net/api/product");
}
}
Sources:
https://docs.microsoft.com/en-us/aspnet/core/blazor/call-web-api?view=aspnetcore-5.0
Comments