Blazor 页面和共享之间有什么区别?我们可以使用不同的文件夹吗?

Blazor 页面和共享之间有什么区别?我们可以使用不同的文件夹吗?,blazor,blazor-client-side,Blazor,Blazor Client Side,我正在浏览并仍在学习Blazor,但有一件事我无法理解——为什么会有准备好的文件夹“页面”和“共享”以及它们之间的区别 页面和共享页面之间有什么区别? 也 我们在哪里存储自定义控件 页面和组件本质上是相同的,不同的是页面有一个或多个@page指令,标识可用于呈现它们的URL 从razor文件生成的组件类上的@page指令将转换为[Microsoft.AspNetCore.Components.RouteAttribute(“/XXX”)]属性 Blazor将反映使用[RouteAttribut

我正在浏览并仍在学习Blazor,但有一件事我无法理解——为什么会有准备好的文件夹“页面”和“共享”以及它们之间的区别

  • 页面和共享页面之间有什么区别? 也
  • 我们在哪里存储自定义控件

页面和组件本质上是相同的,不同的是页面有一个或多个
@page
指令,标识可用于呈现它们的URL

从razor文件生成的组件类上的
@page
指令将转换为
[Microsoft.AspNetCore.Components.RouteAttribute(“/XXX”)]
属性

Blazor将反映使用
[RouteAttribute]
修饰的类型的整个程序集。这意味着页面可以放在任何你想要的地方

组件也是如此。默认情况下,之所以能够将它们放入
共享
文件夹,是因为
/\u导入。razor
中有一个使用YouAppName.Shared的
。如果要将组件放在其他名称空间中,可以

  • 将名称空间添加到_Imports.razor文件
  • 使用WhateverNamespace将
    @添加到消费页面/组件的顶部
  • 在标记中包含名称空间