【问题标题】:Does blazor do a postback when using things like @onclick?使用 @onclick 之类的东西时,blazor 会回发吗?
【发布时间】:2021-03-01 15:22:09
【问题描述】:

如果不是,它如何在不回发的情况下从服务器获取信息?

【问题讨论】:

  • 简短回答:不。但是您确实应该阅读一些关于 Blazor 的介绍性文本,因此不适用于个人教程。
  • 这解释了 Blazor 托管模型,这反过来又回答了您的问题docs.microsoft.com/en-us/aspnet/core/blazor/…

标签: asp.net-core razor blazor


【解决方案1】:

不,它没有。

这是 Blazor 的三个最基本的功能:

  1. 它允许您使用 C# 完成几乎所有操作,即使用更少的 JavaScript。
  2. 它通过一系列恒定的 SignalR 通信 发送和接收部分页面更新,而不是大量的发布/重新加载事件。
  3. 由于它是 .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
            //
        }
     }

用户在每个文件被传输、处理和保存之前收到更新的进度消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-20
    • 2011-05-25
    • 2020-01-10
    • 2014-09-27
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    相关资源
    最近更新 更多