.NET Core Razor 路由到 REST 风格的路由
.NET Core Razor Routing to REST style routes
我正在构建一个 ASP.CORE Razor 应用程序并具有以下目录结构:
Pages/Movies
Pages/Movies/Actors
每个目录中都有一个索引页面,分别显示特定电影的电影列表和演员列表。
我正在尝试从每部电影构建一个 link,从电影索引页面一直到特定电影的演员索引,这始终需要电影 ID。
查找电影所有演员的 URL 应该是
/Movies/{movieId}/Actors
来自电影索引的 Link 是
<a asp-page="./@movieModel.Id/Actors/Index">Actors</a>
Actor 索引页上的@Page 指令是
@page "Movies/{movieId}/Actors/Index"
但这不起作用,因为每部电影中显示的 link 只是 /movies
,因为我显然没有正确连接它。
如果你想要像 /Movies/1/Actors/Index
这样的绝对 url 作为 Actor Index 你需要首先使用“/”
@page "/Movies/{movieId}/Actors/Index"
否则你会 url 像 /Movies/Actors/Movies/1/Actors/Index
一样嵌套。
除了asp-page
,您还可以使用@Url.Page
<a href="@Url.Page("./Actors/Index",new { movieId = @movieModel.Id})">Actors</a>
<a asp-page="./Actors/Index" asp-route-movieId="@movieModel.Id">Actors</a>
我正在构建一个 ASP.CORE Razor 应用程序并具有以下目录结构:
Pages/Movies
Pages/Movies/Actors
每个目录中都有一个索引页面,分别显示特定电影的电影列表和演员列表。
我正在尝试从每部电影构建一个 link,从电影索引页面一直到特定电影的演员索引,这始终需要电影 ID。
查找电影所有演员的 URL 应该是
/Movies/{movieId}/Actors
来自电影索引的 Link 是
<a asp-page="./@movieModel.Id/Actors/Index">Actors</a>
Actor 索引页上的@Page 指令是
@page "Movies/{movieId}/Actors/Index"
但这不起作用,因为每部电影中显示的 link 只是 /movies
,因为我显然没有正确连接它。
如果你想要像 /Movies/1/Actors/Index
这样的绝对 url 作为 Actor Index 你需要首先使用“/”
@page "/Movies/{movieId}/Actors/Index"
否则你会 url 像 /Movies/Actors/Movies/1/Actors/Index
一样嵌套。
除了asp-page
,您还可以使用@Url.Page
<a href="@Url.Page("./Actors/Index",new { movieId = @movieModel.Id})">Actors</a>
<a asp-page="./Actors/Index" asp-route-movieId="@movieModel.Id">Actors</a>