ef583813eb
Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
67 lines
1.7 KiB
Plaintext
67 lines
1.7 KiB
Plaintext
@page "/fetchdata"
|
|
@inject HttpClient Http
|
|
@using Newtonsoft.Json
|
|
|
|
<h1>Weather forecast</h1>
|
|
|
|
<p>This component demonstrates fetching data from the server.</p>
|
|
|
|
@if (forecasts == null)
|
|
{
|
|
<p><em>Loading...</em></p>
|
|
}
|
|
else
|
|
{
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Date</th>
|
|
<th>Temp. (C)</th>
|
|
<th>Temp. (F)</th>
|
|
<th>Summary</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var forecast in forecasts)
|
|
{
|
|
<tr>
|
|
<td>@forecast.Date.ToShortDateString()</td>
|
|
<td>@forecast.TemperatureC</td>
|
|
<td>@forecast.TemperatureF</td>
|
|
<td>@forecast.Summary</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
}
|
|
|
|
@functions {
|
|
WeatherForecast[] forecasts;
|
|
String serialized;
|
|
|
|
protected override async Task OnInitAsync()
|
|
{
|
|
var text = await Http.GetStringAsync ("sample-data/weather.json");
|
|
forecasts = JsonConvert.DeserializeObject<List<WeatherForecast>>(text).Append (
|
|
new WeatherForecast {
|
|
Date = DateTime.Parse ("08/18/2018 07:22:16"),
|
|
TemperatureC = -28,
|
|
TemperatureF = -18,
|
|
Summary = "Why are temperatures ints??"
|
|
}).ToArray();
|
|
|
|
serialized = JsonConvert.SerializeObject (forecasts);
|
|
}
|
|
|
|
class WeatherForecast
|
|
{
|
|
public DateTime Date { get; set; }
|
|
|
|
public int TemperatureC { get; set; }
|
|
|
|
public int TemperatureF { get; set; }
|
|
|
|
public string Summary { get; set; }
|
|
}
|
|
}
|