Razor 页面中的 Blazor 组件

Cha*_*has 5 blazor

我们有一个基本的剃刀页面应用程序。我们想添加 Blazor 组件。通过复制 04/16 Blazor 更新视频中的步骤或使用 Blazor 文档,我们可以毫无问题地使其发挥作用。但是,一旦我们将 Blazor 组件添加到 Razor 页面,我们所有的 asp 页面链接就不再起作用。地址栏中的 URL 发生了变化,但我们仍然在同一页面上。启动文件如下:

\n\n
public 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    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果有人可以向我指出有关 Razor 页面和 Blazor 组件的多页教程,我\xe2\x80\x99m 确信我们可以解决这个问题!提前致谢!

\n\n

blazor 组件工作正常。

\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>\n
Run 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

Cha*_*has 3

打开此问题 - https://github.com/aspnet/AspNetCore/issues/9834。事实证明,这是 Blazor 团队需要解决的一个错误。您还需要查看https://github.com/aspnet/AspNetCore/pull/10062。要立即解决,请在解决此问题时发出拉取请求,或者等到下一个预览版本。