Page 1 of 1

Blazor -Knopfereignis nicht abfeuern

Posted: 01 Jul 2025, 12:01
by Anonymous
Ich erstelle eine Blazor -Server -App mit dem Amadeus SDK und kann loadflights () nicht auslösen, die ich in der Datei razor.cs definiere, wenn ich eine Taste mit der damit zugewiesenen Methode drückte.

Code: Select all

Home.cs

Code: Select all

@page "/"
@using sexy.Components.Shared
@using sexy.Models

Home


Search Flights

@if (!string.IsNullOrEmpty(testMessage))
{
@testMessage
}

@if (flights != null && flights.Count > 0)
{
Flights:
[list]
@foreach (var item in flights)
{
[*]
@item.Origin to @item.Destination, Departure: @item.DepartureDate, Return: @item.ReturnDate, Price: @item.Price, Airlines: @string.Join(", ", item.Airlines)

}
[/list]
}


< /code>
Home.razor.cs

Code: Select all

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>
I have tried adding the method within the razor file itself (within a @code block), and the breakpoint withint LoadFlights()
wird nicht aufgerufen. Ich habe auch versucht, eine normale anstelle einer Blazor -Taste zu verwenden, und es hat den gleichen Fehler. Wenn ich die Methode in oninitializedAsync ausführe, wird die Methode loadFlights () auf der Seiteninitialisierung ausgeführt.