是否可以在RCL中创建Blazor页面?

时间:2020-03-30 12:52:36

标签: asp.net-core blazor blazor-server-side blazor-client-side razor-class-library

This page说明了如何创建用于放置共享组件的Razor类库。我试图创建一个示例Blazor Server-Side项目,其中的index.razor具有在Razor类库中定义的组件。可以。

我想做的是开发Blazor服务器端应用程序,将来有可能将托管模型更改为WASM。我想知道是否可以在共享RCL中创建页面和组件,因此在那种情况下,我可以在Blazor Server-Side项目中创建控制器,并通过Http调用从Razor类库中使用它们。如果将来要将托管模式更改为WASM,这将对我有帮助。

无论如何,我试图在RCL内创建Blazor页面,但是当我尝试调用写在@page内的URL时,它就无法到达。

我想问你是否有可能完成此行为。如果是,我想念什么?

您可以仅创建一个新的Blazor服务器端项目来复制我的示例,使其引用RCL,然后在@page "/testpage"内插入Component1.razor

1 个答案:

答案 0 :(得分:7)

是的,您可以-您需要告诉Blazor Router在哪里寻找页面

<Router
    AppAssembly="typeof(Program).Assembly"
    AdditionalAssemblies="new[] { typeof(Component1).Assembly }">
    ...
</Router>

文档:https://docs.microsoft.com/en-us/aspnet/core/blazor/routing?view=aspnetcore-3.1#route-to-components-from-multiple-assemblies