在ASP.NET Core Razor页面上,我们可以执行以下操作来更改默认的基于文件夹的路由:
@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 谢谢
答案 0 :(得分:1)
聚会晚了一点,但是我遇到了同样的问题,发现float and real (Transact-SQL)将该组件与给定的路由模板相关联。
因此,您可以在剃须刀组件中执行以下操作,并将其放在{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>
答案 1 :(得分:0)
我不知道.NET Core 3.1是否有用,但是RouteAttribute不适用于RazorPages。
@page
@attribute [Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemMetadata("RouteTemplate", MyRoutes.QualificationQueue)]