我正在尝试创建一个Blazor应用程序在网站上使用。网站的大部分将是静态的,我希望这一部分是从静态HTML文件提供客户端性能的原因。网站的一些页面将由Blazor应用程序呈现。在构建原型时,我遇到了一个问题:当从Blazor部分导航回网站的静态部分时,我得到“错误: System.InvalidOperationException:'Router‘找不到任何带有’/index.html‘路由的组件。”
到index.html的链接在包含应用程序的页面的body标记中,但在应用程序标记之外,它应该不在Blazor的注意范围之外。我知道问题的原因是路由器找不到路由的组件,但为什么Blazor要尝试查找组件,而不是让浏览器导航到非Blazor页面?这个链接应该由浏览器处理,而不是Blazor,我会这样想吗?
发布于 2019-01-11 03:14:27
在站点的startup.cs中,将app.UseBlazor()语句更改为:
app.Map("/bzr", child => { child.UseBlazor<Blazor.Program>(); });
在wwwroot的index.html中,将基本href更改为:
<base href="/bzr/" />
现在,/bzr文件夹之外的任何内容都将像一个常规网站一样工作。
https://stackoverflow.com/questions/54135277
复制相似问题