在ASP.NET核心剃刀页面上,我们可以执行此操作来更改默认的基于文件夹的路由:
@page "/xxx/yyy"但是,在某些类Constants.Routes中尝试使用强类型属性来执行此操作不起作用
public const string Myroute = "/mysuperroute"; 和
@page @Constants.Routes.Myroute我在编译时The 'page' directive expects a string surrounded by double quotes.收到一个错误
有什么办法可以解决这个问题吗?我想通过以下选项来避免路线重复,例如https://docs.microsoft.com/en-us/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-2.2#configure-a-page-route谢谢
发布于 2020-02-05 18:16:58
聚会有点晚,但我遇到了同样的问题,找到了将组件与给定路由模板相关联的RouteAttribute。
因此,您可以在您的剃须刀组件中执行以下操作,并在{host}:{port}/test下提供它:
@attribute [Microsoft.AspNetCore.Components.RouteAttribute(Href)]
@code {
public const string Href = "test";
}在NavLink中,您现在可以这样做:
<NavLink class="nav-link" href="@TestComponent.Href">
Test Entry
</NavLink>发布于 2020-03-24 06:06:01
我不知道是不是.NET核心3.1的东西,但是RouteAttribute不能在RazorPages上工作。
@page
@attribute [Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemMetadata("RouteTemplate", MyRoutes.QualificationQueue)]https://stackoverflow.com/questions/54941524
复制相似问题