Oct*_*pus 15 asp.net-core razor-pages
在 ASP.NET Core Razor 页面上,我们可以执行以下操作来更改默认的基于文件夹的路由:
@page "/xxx/yyy"
Run Code Online (Sandbox Code Playgroud)
但尝试在某些类中使用强类型属性来执行此操作Constants.Routes是行不通的
public const string Myroute = "/mysuperroute";
Run Code Online (Sandbox Code Playgroud)
和
@page @Constants.Routes.Myroute
Run Code Online (Sandbox Code Playgroud)
我在编译时遇到错误The 'page' directive expects a string surrounded by double quotes.
有没有解决的办法?我想避免通过选项重复路由,例如https://learn.microsoft.com/en-us/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-2.2#configure-a-page -路线 谢谢
Rad*_*all 11
聚会有点晚了,但我遇到了同样的问题,并找到了将组件与给定路由模板关联起来的RouteAttribute 。
因此,您可以在 razor 组件中执行以下操作,并使其在 {host}:{port}/test 下可用:
@attribute [Microsoft.AspNetCore.Components.RouteAttribute(Href)]
@code {
public const string Href = "test";
}
Run Code Online (Sandbox Code Playgroud)
在 NavLink 中,您现在可以执行以下操作:
<NavLink class="nav-link" href="@TestComponent.Href">
Test Entry
</NavLink>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2994 次 |
| 最近记录: |