如果没有,它如何从服务器获得信息而不回发?
没有。
这是Blazor的三个最基本的功能:
- 它允许你用c#做几乎所有的事情,也就是说,用更少的JavaScript。
- 它通过一系列恒定的SignalR通信发送和接收部分页面更新,而不是巨大的post/reload事件。
- 因为是。net,所以你可以访问。net框架自带的所有库,而不必依赖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
//
}
}
用户在每个之前获得更新的进度消息文件被传输、处理和保存。