首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Razor Pages中@page指令中的强类型路由

Razor Pages中@page指令中的强类型路由
EN

Stack Overflow用户
提问于 2019-03-01 17:23:55
回答 2查看 1K关注 0票数 4

在ASP.NET核心剃刀页面上,我们可以执行此操作来更改默认的基于文件夹的路由:

代码语言:javascript
复制
@page "/xxx/yyy"

但是,在某些类Constants.Routes中尝试使用强类型属性来执行此操作不起作用

代码语言:javascript
复制
public const string Myroute = "/mysuperroute"; 

代码语言:javascript
复制
@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谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-02-05 18:16:58

聚会有点晚,但我遇到了同样的问题,找到了将组件与给定路由模板相关联的RouteAttribute

因此,您可以在您的剃须刀组件中执行以下操作,并在{host}:{port}/test下提供它:

代码语言:javascript
复制
@attribute [Microsoft.AspNetCore.Components.RouteAttribute(Href)]


@code {
  public const string Href = "test";
}

在NavLink中,您现在可以这样做:

代码语言:javascript
复制
<NavLink class="nav-link" href="@TestComponent.Href">
    Test Entry
</NavLink>

Source

票数 4
EN

Stack Overflow用户

发布于 2020-03-24 06:06:01

我不知道是不是.NET核心3.1的东西,但是RouteAttribute不能在RazorPages上工作。

代码语言:javascript
复制
@page
@attribute [Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemMetadata("RouteTemplate", MyRoutes.QualificationQueue)]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54941524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档