Blazor

已完成

有许多方法可用于生成 Web 应用。 若要生成具有高度交互性和快速性的 Web 应用,通常使用大量 JavaScript。

另一种方法是通过 Microsoft 使用 Blazor 框架,这样就可以使用 C# 和 .NET 来处理所有 Web 开发问题。

什么是 Blazor?

Blazor 是一个框架,用于使用 HTML、CSS 和 C# 生成网页。 可以使用标准 HTML 和 CSS 定义网站的布局和设计。 然后,可以使用 C# 代码管理网页的交互式组件,这些代码使用名为 WebAssembly 的 Web 标准技术在服务器上或浏览器中运行。 Blazor 允许我们使用 Razor 语法定义网页和组件,这是 HTML 和 C# 的便捷混合体。 可以轻松重用其他页面和组件内的 Blazor 组件。 此功能意味着可以轻松生成和重用应用的各个部分。

什么是 WebAssembly?

WebAssembly 是每个新式浏览器中提供的标准技术,允许代码在浏览器中运行(类似于 JavaScript)。 我们可以使用工具准备 C# 代码,以便在浏览器中用作 WebAssembly 应用,这些工具包含在 .NET SDK 中。

使用热重载功能立即更新您的应用程序

开发应用时,需要确保开发人员流快速,以便查看更改对应用的影响。 进行更改、保存、重新生成所有资源并在浏览器中重新部署应用可能非常耗时。

可以使用热重载改进此工作流。 使用热重载,你可以在不重启它的情况下对正在运行的应用做出更改。

Blazor 组件

使用 Blazor 创建应用时,应用由多个组件组成,每个组件都由自己的责任区域组成。 若要创建组件,请使用带有 .razor 扩展名的 Razor 文件。 那么,什么是 Razor?

Razor 是一种编程语法,将 HTML 语法与 C# 代码混合使用。 下面是一个示例:

<div>@product.Name</div>

@code {
  Product product = new Product{ Name = "Blazor" }
}

在此示例中, @product.Name 解析为字符串“Blazor”,然后呈现在 div 标记内部。 呈现的输出如下所示:

<div>Blazor</div>

Razor 示例的顶部部分由组件在执行时呈现的 HTML 标记组成。 可以使用字符呈现 C# 表达式 @ 的值。 Razor 将继续解释 @ 之后的 C# 代码,直到识别到标记,然后恢复呈现 HTML。 可以使用 parens @(...)显式了解 C# 表达式何时开始和结束。

其中 @code {} 的所有内容都包含用于定义所生成组件类的成员的 C# 代码。 可以将 Razor 文件视为定义 HTML 呈现逻辑的 C# 类的便捷方法。 使用 @code 块为组件类型定义 C# 成员,例如字段、属性和方法。

设置 Blazor 组件的样式

Blazor 组件呈现 HTML,因此可以使用普通 CSS 样式表设置 Blazor 组件样式。 或者,Blazor 组件具有名为 CSS 隔离的功能,可用于创建仅适用于该组件内容的样式规则。 通过创建名称与组件相同的文件并添加.css文件扩展名,Blazor 会将此命名识别为仅应用于相应组件中的 HTML 内容的样式。

Blazor 组件还可以使用特殊 HeadContent 标记定义要添加到页面 HTML 头的内容:

<HeadContent>
    <style>
        ...my styles here
    </style>
</HeadContent>

style 标记和内容呈现在页面的 head 标记内。

可路由组件

Home.razor 文件是可从 Web 浏览器导航到的组件。 它包含 HTML、C# 和对其他 Blazor 组件的引用。 由于第一行存在 @page "/" 指令,我们可以将此文件识别为一个页面。 此指令将“/”路由分配给组件,并指示 Blazor 在请求“/”地址的默认页面时响应此文件的内容。