本页介绍如何创建一个Razor类库来放置共享组件。我尝试创建一个示例Blazor服务器端项目,其中index.razor
有一个在Razor类库中定义的组件。它有效。
我想做的是开发一个Blazor服务器端应用程序,将来有可能将托管模型更改为WASM。我想知道是否可以在共享的RCL中创建页面和组件,这样,在这种情况下,我可以在Blazor Server Side项目中创建控制器,并通过Http调用从Razor类库中使用它们。如果我将来想将托管模型更改为WASM,这将对我有所帮助。
无论如何,我试图在RCL中创建一个Blazor页面,但当我试图调用@page
中编写的URL时,它无法访问。
我想问你是否有可能实现这种行为。如果是,我缺少什么?
您可以复制我的示例,只需创建一个新的Blazor服务器端项目,使其引用RCL,然后在Component1.razor
中插入@page "/testpage"
是的,你可以-你需要告诉Blazor路由器在哪里查找页面
<Router
AppAssembly="typeof(Program).Assembly"
AdditionalAssemblies="new[] { typeof(Component1).Assembly }">
...
</Router>
文件:https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/routing?view=aspnetcore-3.1#从多个组件到组件的路线-2