ASP.NET Core Razor 组件类库

作者: Simon Timms

可在Razor 类库(RCL)中跨项目共享组件。 Razor 组件类库可以包含在其中:

  • 解决方案中的另一个项目。
  • NuGet 包。
  • 引用的 .NET 库。

正如组件是常规 .NET 类型一样,RCL 提供的组件是普通的 .NET 程序集。

创建 RCL

按照 ASP.NET Core Blazor 入门 一文中的指导配置 Blazor 的环境。

使用库组件

若要使用另一个项目的库中定义的组件,请使用以下方法之一:

  • 使用带有命名空间的完整类型名称。
  • 使用 Razor @的指令。 可以按名称添加单个组件。

在下面的示例中,MyComponentLib1 是包含 SalesReport 组件的组件库。

可以使用命名空间的完整类型名称引用 SalesReport 组件:

<h1>Hello, world!</h1>

Welcome to your new app.

<MyComponentLib1.SalesReport />

如果使用 @using 指令将库引入到范围中,也可以引用此组件:

@using MyComponentLib1

<h1>Hello, world!</h1>

Welcome to your new app.

<SalesReport />

@using MyComponentLib1 指令包含在顶级 _Import文件中,使库的组件可用于整个项目。 将指令添加到任何级别的 _Import razor文件,以将该命名空间应用于文件夹中的单个页面或一组页面。

生成、打包和传送到 NuGet

由于组件库是标准的 .NET 库,因此将其打包并传送到 NuGet 与将任何库打包到 NuGet 没有什么不同。 在命令行界面中使用dotnet pack命令执行打包:

dotnet pack

在命令行界面中使用dotnet nuget push命令将包上传到 nuget。

使用静态资产创建 Razor 组件类库

RCL 可以包括静态资产。 静态资产可用于使用库的任何应用。 有关详细信息,请参阅 ASP.NET Core 的类库中的可重用 Razor UI

其他资源

上一篇:ASP.NET Core Blazor 宿主模型配置

下一篇:ASP.NET Core Blazor 身份验证和授权

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程