我在这里遇到问题
我用核心3.1创建了Blazor应用程序(服务器端),然后创建了Razor类库(旧的razorlib)
有了这个classlib,我可以在blazor应用程序
有人可以给我一个例子吗?谢谢!
答案 0 :(得分:1)
需要执行一些步骤才能显示Blazor项目中Razor类库中的页面:
创建一个类库(存在模板)
将页面添加到类库
将项目引用添加到blazor项目(右键单击依赖项...)
在Blazor项目中,将Razor组件库的程序集添加到Router组件(在本示例中,Razor组件库的名称为GeneralUi)。您可以通过设置AdditionalAssemblies参数来实现:
<Router AppAssembly="@typeof(Program).Assembly"
AdditionalAssemblies="new[] { typeof(GeneralUi.About).Assembly}">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
在这里重要的是只从Razor组件库中提取一页(与选择哪一个无关)。通过这一步骤,您可以从Razor组件库路由到页面。
如果只想使用组件(没有页面),则可以删除步骤4。然后,只需要将组件包括在另一个组件中即可。如果您不想提供完整的名称空间,则只需在Blazor项目的_Imports.razor文件中添加名称空间即可。
如果在Razor类库中定义了样式,则需要将这些样式(文件)添加到Blazor项目中。在Blazor WebAssembly中,只需添加以下内容即可在index.html文件中完成此操作:
<link href="_content/GeneralUi/css/styles.css" rel="stylesheet" />
_content 是一个命名约定,需要告知样式文件来自另一个程序集/项目。在此示例中,样式文件 styles.css 来自GeneralUi项目,并将其放置在wwwroot文件夹下的css文件夹中(wwwroot文件夹中的所有项目的静态资产)
答案 1 :(得分:0)
例如
@page "/contact"
<RazorClassLibrary.Component1></RazorClassLibrary.Component1>
@code { ... }