Кнопка Blazor WebAssembly при нажатии не срабатываетC#

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

Сообщение Anonymous »



TL;DR:

Я понял, что путаю типы приложений Blazor, и забыл добавить `@rendermode InteractiveServer`.

У меня есть клиентское приложение WebAssembly Blazor, и у меня возникла проблема с тем, что метод onclick не запускается после нажатия кнопки. Эта Blazor WebAssembly была добавлена ​​к существующему веб-API ASP.NET Core. Это .NET 8.

У меня есть динамически созданная таблица, содержащая некоторые данные, полученные из службы.
Код, выполняющий это ниже:

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

private void FetchMails() {
APIResponse result = MailArchiveService.GetMailMessages();
if(!result.Success) {
StatusMessage = result.GetStatusString();
} else {
Data = result.GetContent[*]>();
}
}
APIResponse — это оболочка для связи между службами, контроллерами и этим приложением Blazor.
Он работает, предоставленные данные действительны и отображаются правильно. Моя генерация таблицы выглядит так:

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

@if (Data == null){
Loading...
} else {



Sender
Recipient
Subject
TemplateType
Sent
Actions



@foreach(var record in Data) {

@record.Sender.Email
@record.Recipient.Email
@record.Subject
@record.TemplateType.ToString()
@record.SentTime?.ToString("dd-MM-yyyy HH:mm:ss")

View


}


}
Мой метод onclick выглядит следующим образом:

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

public void ViewMailContent(int id) {
Console.WriteLine($"ViewMailContent called with ID: {id}");
//Display message content to user
}
Моя проблема в том, что когда я нажимаю кнопку, ничего не происходит.
Я добавил эту WriteLine и поместил туда точку останова, а она даже не входит в этот метод.
Для По причинам тестирования я добавил еще одну кнопку за пределами этой таблицы с константным идентификатором, и тогда она работает правильно. У меня не возникает никаких ошибок, приложение, кажется, ничего не делает, но не зависает (я все еще могу переключать вкладки и делать другие вещи).
Я пробовал решения, опубликованные здесь. .
Но это не работает.
Я пробовал менять кнопку такими способами:
  • Изменил onclick на что-то вроде этого:
  • Изменение типа возврата на EventCallback:
    Он срабатывал, когда страница загружалась без нажатия пользователем.
  • Добавление mouseEventArgs (предлагается здесь):
    Ничего не изменилось
  • Добавление такого события (предложение GPT):
    Ничего не изменилось
  • Временно заменен обработчик на console.log:
    Я вижу сообщение в инструментах разработки браузера.
Я застрял и не знаю, что делаю неправильно . Я новичок в Blazor.

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

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

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

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

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

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