Blazor 是一个基于 C# 构建交互式 Web UI 的框架,支持 WebAssembly(客户端运行)和 Server(SignalR 服务端交互)两种托管模式,均使用 Razor 组件模型。

Blazor 是一个基于 C# 构建交互式 Web 用户界面的框架,它允许你使用 C#、Razor 和 HTML 来开发前端 UI,而无需编写 JavaScript。它运行在浏览器中通过 WebAssembly 或在服务器端通过 SignalR 实现响应式交互。如果你熟悉 C# 和 ASP.NET Core,Blazor 将非常容易上手。
Blazor 是什么?
Blazor 支持两种托管模式:
- Blazor WebAssembly:C# 代码直接在浏览器中通过 WebAssembly 运行,完全客户端化,适合构建独立的单页应用(SPA)。
- Blazor Server:UI 更新和事件处理通过 SignalR 连接与服务器通信,逻辑在服务器执行,适合需要快速响应且对网络依赖可接受的应用。
两者都使用 Razor 组件模型,组件以 .razor 文件编写,结合 C# 逻辑与 HTML 标记。
创建你的第一个 Blazor 应用
确保已安装 .NET SDK(6.0 或更高版本)。打开终端并运行:
dotnet new blazor -o MyFirstBlazorApp cd MyFirstBlazorApp dotnet run
然后在浏览器访问 https://localhost:5001,你会看到默认模板页面。
Razor 组件基础
每个 .razor 文件是一个组件。例如,创建 HelloWorld.razor:
Hello, @Name!
@code { private string Name { get; set; } = "World"; }
这个组件包含 HTML 和内嵌 C# 代码块。@bind 实现双向绑定,当输入框内容变化时,Name 属性自动更新。
处理事件和状态更新
Blazor 组件可以响应用户操作。例如添加一个按钮来更新消息:
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统
@code { private void UpdateGreeting() { Name = $"用户 {DateTime.Now:HH:mm:ss}"; } }
@onclick 绑定点击事件,调用 C# 方法触发 UI 更新。Blazor 自动检测状态变化并重新渲染相关部分。
组件间通信:参数传递
父组件向子组件传值使用 [Parameter] 特性。例如子组件 GreetingDisplay.razor:
当前问候语:@Message@code { [Parameter] public string Message { get; set; } }
父组件中使用:
@code { private string greeting = "欢迎来到 Blazor!"; }
路由设置
Blazor 支持基于路径的导航。在组件顶部添加 @page 指令即可注册路由:
@page "/demo"这是演示页面
访问 /demo 即可看到该组件。支持参数,如 @page "/user/{id}",可通过 [Parameter] 接收 id。
基本上就这些。Blazor 让你用熟悉的 C# 构建现代 Web 界面,减少上下文切换。从简单组件开始,逐步集成表单、服务依赖注入和状态管理,就能构建出功能完整的 Web 应用。不复杂但容易忽略的是生命周期方法和渲染优化细节,后续可深入学习 OnInitialized、ShouldRender 等机制。









