@using sexy.Components.Shared
@using sexy.Models
Home
Search Flights
@if (!string.IsNullOrEmpty(testMessage))
{
@testMessage
}
@if (flights != null && flights.Count > 0)
{
Flights:
- @foreach (var item in flights)
{ -
@item.Origin to @item.Destination, Departure: @item.DepartureDate, Return: @item.ReturnDate, Price: @item.Price, Airlines: @string.Join(", ", item.Airlines)
}
< /code>
home.razor.cs
using Microsoft.AspNetCore.Components;
using sexy.Models;
using sexy.Components.Shared;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace sexy.Components.Pages
{
public partial class Home : ComponentBase
{
[Inject] public TravelAPI TravelAPI { get; set; }
public List flights = new();
public string testMessage = "";
public string origin { get; set; }
public string destination { get; set; }
protected async Task LoadFlights()
{
if (string.IsNullOrWhiteSpace(origin) || string.IsNullOrWhiteSpace(destination))
{
testMessage = "Please enter both origin and destination.";
flights.Clear();
return;
}
try
{
var token = await TravelAPI.ConnectOAuth();
flights = await TravelAPI.GetFlights(token, "MEL", "SYD");
testMessage = $"Loaded {flights.Count} flights.";
}
catch (Exception ex)
{
testMessage = $"Error: {ex.Message}";
flights.Clear();
}
}
}
}
< /code>
Я попытался добавить метод в самом файле бритвы (в блоке @code), и точка останова с нагрузкой () не вызывается. Я также пытался использовать нормальную вместо кнопки Blazor, и у нее такая же ошибка. Кроме того, если я запускаю метод в OnitializedAsync, метод loadflights () будет выполнен при инициализации страницы.
Подробнее здесь: https://stackoverflow.com/questions/796 ... not-firing
Мобильная версия