Xamarin Public Jenkins (auto-signing) ef583813eb Imported Upstream version 6.4.0.137
Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
2019-07-26 19:53:28 +00:00

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; }
}
}