我正在尝试引用 Blazor 项目中 Razor 类库中包含的 razor 页面。当我转到页面的路线时,我收到 404 错误。
重新创建的步骤
创建一个新解决方案作为 Blazor Web App (.NET 8.0) 模板。 添加新的 Razor 类库项目(选中支持页面和视图) 编辑 Page1.cshtml 并在顶部添加以下内容:
@page "/test"
从 Blazor 应用程序 (BlazorApp1) 添加对 Razor 类库 (RazorClassLibrary1) 的引用。
在 BlazorApp1 中将 Routes.razor 编辑为:
<Router AppAssembly="typeof(Program).Assembly" AdditionalAssemblies="new[]{typeof(RazorClassLibrary1.MyFeature.Pages.Page1Model).Assembly}">
<Found Context="routeData">
<RouteView RouteData="routeData" DefaultLayout="typeof(Layout.MainLayout)" />
<FocusOnNavigate RouteData="routeData" Selector="h1" />
</Found>
</Router>
编辑 BlazorApp1 的 Program.cs 以包括:
app.MapRazorComponents<App>()
.AddInteractiveServerRenderMode()
.AddAdditionalAssemblies([typeof(RazorClassLibrary1.MyFeature.Pages.Page1Model).Assembly] );
启动应用程序并浏览到 /test,你会得到 404。我做错了什么?
RCL 应该只有组件,而不是页面。创建页面等效组件并在实际项目的页面中使用。