Нажатие кнопки не запускает метод в Blazor WebAssemblyC#

Место общения программистов C#
Ответить
Anonymous
 Нажатие кнопки не запускает метод в Blazor WebAssembly

Сообщение Anonymous »

Я работаю над приложением Blazor WebAssembly на C#, и у меня возникла проблема с событием нажатия кнопки. Когда я нажимаю кнопку, он должен вызвать метод BuscarVehiculo, но этот метод не вызывается. Я пробовал использовать Console.WriteLine для отладки, но метод никогда не выполняется.
Вот код:

Код: Выделить всё

@page "/vehiculos"
@using System.Text.Json
@inject HttpClient Http
@using TallerModel

Vehículos



Buscar



@(mostrarListaPatentes ? "Ocultar todas las Patentes" : "Ver todas las Patentes")





@if (mostrarListaPatentes)
{

Lista de Patentes
[list]
@foreach (var vehiculo in vehiculos)
{
[*]@vehiculo.Patente
}
[/list]

}

@code {
private List vehiculos = new List
{
new Vehiculo { Patente = "ABC123", Marca = "Toyota", Modelo = "Corolla", Tipo = "Sedan", Chasis = "123456789", Motor = "987654321", DniApoderado = 12345678, NombreApoderado = "Juan Pérez" },
new Vehiculo { Patente = "XYZ789", Marca = "Ford", Modelo = "Focus", Tipo = "Hatchback", Chasis = "987654321", Motor = "123456789", DniApoderado = 87654321, NombreApoderado = "Maria González" }
};

private Vehiculo? vehiculoEncontrado;
private string? patente;
private bool buscarRealizado = false;
private bool mostrarListaPatentes = false;

// Método para buscar un vehículo por patente
private void BuscarVehiculo()
{
Console.WriteLine($"Buscando vehículo con patente: {patente}");
buscarRealizado = true;

if (string.IsNullOrEmpty(patente))
{
Console.WriteLine("La patente no puede estar vacía.");
return;
}

// Inicializamos la variable en null antes de buscar
vehiculoEncontrado = null;

// Verificar si la lista de vehículos está cargada
if (vehiculos == null || !vehiculos.Any())
{
Console.WriteLine("La lista de vehículos está vacía.");
return;
}

// Buscar el vehículo por patente
foreach (var vehiculo in vehiculos)
{
Console.WriteLine($"Revisando vehículo con patente: {vehiculo.Patente}");
if (vehiculo.Patente.Equals(patente, StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine($"Vehículo encontrado: {vehiculo.Patente}");
vehiculoEncontrado = vehiculo;
break; // Terminamos la búsqueda al encontrar el vehículo
}
}

if (vehiculoEncontrado == null)
{
Console.WriteLine("No se encontró el vehículo.");
}

StateHasChanged(); // Fuerza la actualización de la UI
}
}
Когда я нажимаю кнопку «Buscar», он должен вызвать метод BuscarVehiculo, но этот метод никогда не запускается.
Я проверил консоль на наличие вывода, но он ничего не регистрирует из метода BuscarVehiculo.
Остальные компоненты Blazor, такие как привязка поля ввода патента, работают нормально.
Шаги, которые я пробовал:
Шаги, которые я пробовал:
  • Я проверил, что событие @onclick правильно привязано к методу.
  • Я добавил Console.WriteLine в метод чтобы проверить, вызывается ли он, но при нажатии кнопки ничего не печатается.
  • Я проверил, что список транспортных средств заполнен правильно.
Может ли кто-нибудь помочь мне понять, почему событие @onclick не запуск метода BuscarVehiculo?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ebassembly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»