Выполняет ли blazor обратную передачу при использовании таких вещей, как @onclick?

#asp.net-core #razor #blazor

#asp.net-ядро #razor #blazor

Вопрос:

Если нет, то как он получает информацию с сервера без обратной передачи?

Комментарии:

1. Короткий ответ: Нет. Но вам действительно следует прочитать несколько вводных текстов по Blazor, так что это не для отдельных уроков.

2. это объясняет модели хостинга Blazor, которые, в свою очередь, отвечают на ваш вопрос docs.microsoft.com/en-us/aspnet/core/blazor /…

Ответ №1:

Нет, это не так.

Это три наиболее важные функции Blazor:

  1. Это позволяет вам делать почти все на C #, т. Е. с гораздо меньшим количеством JavaScript.
  2. Он отправляет и получает частичные обновления страницы посредством постоянной серии сообщений SignalR, а не огромных событий post / reload .
  3. Поскольку это .NET, это дает вам доступ ко всем библиотекам, которые поставляются с .NET framework, вместо того, чтобы полагаться на библиотеки javascript или jQuery.

Вот пример того, НАСКОЛЬКО он отзывчив. В обработчике для FileInput я могу сделать что-то вроде:

    async Task HandleFileUpload(InputFileChangeEventArgs e)
    {
        int counter = 0;
        foreach (var imageFile in e.GetMultipleFiles(maxAllowedFiles))
        {
            ProgressMessage = $"Processing image: {  counter} / {e.FileCount} ";
            StateHasChanged(); // The user sees the update progress info RIGHT NOW
            // 
            // Do the file transfer, convert and resize it with .NET System.Drawing library
            //
        }
     }
 

Пользователь получает обновленное сообщение о ходе выполнения перед передачей, обработкой и сохранением каждого файла.