我们有一个基本的剃刀页面应用程序。我们想添加 Blazor 组件。通过复制 04/16 Blazor 更新视频中的步骤或使用 Blazor 文档,我们可以毫无问题地使其发挥作用。但是,一旦我们将 Blazor 组件添加到 Razor 页面,我们所有的 asp 页面链接就不再起作用。地址栏中的 URL 发生了变化,但我们仍然在同一页面上。启动文件如下:
\n\npublic void ConfigureServices(IServiceCollection services)\n{\n services.Configure<CookiePolicyOptions>(options =>\n {\n options.CheckConsentNeeded = context => true;\n });\n\n services.AddRazorPages()\n .AddNewtonsoftJson();\n\n services.AddServerSideBlazor();\n }\n\n public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n if (env.IsDevelopment())\n {\n app.UseDeveloperExceptionPage();\n }\n else\n {\n app.UseExceptionHandler("/Error");\n app.UseHsts();\n }\n\n app.UseHttpsRedirection();\n app.UseStaticFiles();\n\n app.UseCookiePolicy();\n\n app.UseRouting();\n\n app.UseAuthorization();\n\n app.UseEndpoints(endpoints =>\n {\n endpoints.MapRazorPages();\n endpoints.MapBlazorHub();\n });\n }\nRun Code Online (Sandbox Code Playgroud)\n\n如果有人可以向我指出有关 Razor 页面和 Blazor 组件的多页教程,我\xe2\x80\x99m 确信我们可以解决这个问题!提前致谢!
\n\nblazor 组件工作正常。
\n\n<a asp-page="./Index">Home</a><br /> \n<div id="Counter"> @(await Html.RenderComponentAsync<Counter>()) \n<script src="~/_framework/blazor.server.js">\n</script> \n</div>\nRun Code Online (Sandbox Code Playgroud)\n\n微软文档指出 - 将组件集成到 Razor Pages 和 MVC 应用程序中 将组件与现有 Razor Pages 和 MVC 应用程序一起使用。无需重写现有页面或视图即可使用 Razor 组件。渲染页面或视图时,同时预渲染组件\xe2\x80\xa0。- https://learn.microsoft.com/en-us/aspnet/core/blazor/components?view=aspnetcore-3.0
\n打开此问题 - https://github.com/aspnet/AspNetCore/issues/9834。事实证明,这是 Blazor 团队需要解决的一个错误。您还需要查看https://github.com/aspnet/AspNetCore/pull/10062。要立即解决,请在解决此问题时发出拉取请求,或者等到下一个预览版本。