Blazor 路由 - 导航到静态页面

Vit*_*aly 5 c# blazor

我正在尝试创建一个在网站上使用的 Blazor 应用程序。网站的大部分内容都是静态的,出于客户端性能的原因,我希望这部分内容由静态 HTML 文件提供。Blazor 应用程序将呈现网站\xe2\x80\x99s 的一些页面。在对此进行原型设计时,我遇到了一个问题:当从 Blazor 部分导航回网站的静态部分时,我收到 \xe2\x80\x9cError: System.InvalidOperationException: 'Router' 找不到任何具有以下路由的组件'/index.html'.\xe2\x80\x9d

\n\n

index.html 的链接位于包含应用程序的页面的 body 标记中,但位于应用程序标记之外,并且应该在 Blazor\xe2\x80\x99 的注意力之外。我知道问题的原因是路由器无法\xe2\x80\x99找到该路由的组件,但为什么 Blazor 试图找到该组件而不是让浏览器导航到非 Blazor 页面?我想这个链接应该由浏览器而不是 Blazor 处理?

\n

Flo*_*res 1

startup.cs您网站的 中,将app.UseBlazor()语句更改为:

app.Map("/bzr", child => { child.UseBlazor<Blazor.Program>(); });

并在index.htmlwwwroot,将基本 href 更改为:

<base href="/bzr/" />

现在,该文件夹之外的任何内容都/bzr将像常规网站一样工作。