我有ASP.NET 5.0 Blazor服务器端应用程序,它根据路由提供内容。此模式的唯一例外是登录/用户设置。
我的第一个方法是,使用catch-all路由参数。
@page "/{*pageRoute}"
这会很好,但现在登录等页面不再可用,因为catch-all也会捕获它们。
是否可以像";除了这些";?
是否可以像"除了这些";?
否。
根据您的需要,使用Route参数,或者您可以检查您的参数,以防捕获所有,然后检查条件控制结构。
此问题现已在Blazor的最新版本中修复。catchall参数的工作原理如下:
如果某条管线与现有管线匹配,则使用该管线。如果它与任何其他现有管线不匹配,则使用catchall管线。这是";不得已的路线">
示例:使用以下路径添加新的剃刀页面:@page "/{*catchall}"
现在运行您的应用程序。所有页面,例如"/计数器";按预期工作。如果找不到路由,则使用catchall页面。