【发布时间】:2019-06-05 17:05:21
【问题描述】:
我正在尝试创建一个在网站上使用的 Blazor 应用程序。大多数网站都是静态的,出于客户端性能的原因,我希望这部分由静态 HTML 文件提供。 Blazor 应用程序将呈现网站的一些页面。在对此进行原型设计时,我遇到了一个问题:当从 Blazor 部分导航回网站的静态部分时,我得到“错误:System.InvalidOperationException:'Router' 找不到任何带有 '/index. html'。”
index.html 的链接位于包含应用程序的页面的正文标记中,但在应用程序标记之外,它应该不在 Blazor 的注意力范围内。我知道问题的原因是路由器找不到路由的组件,但为什么 Blazor 试图找到组件而不是让浏览器导航到非 Blazor 页面?这个链接应该由浏览器处理,而不是 Blazor,我想?
【问题讨论】:
-
如果您将 NavigationManager 注入您的页面并使用
NavigateTo(string uri, bool forceLoad)将执行“真正的”导航,那么将向服务器发出请求。只要您的服务器返回您想要的页面,那应该可以满足您的需求。