【问题标题】:Can you have a one to many relationship using Razor pages?您可以使用 Razor 页面建立一对多关系吗?
【发布时间】:2021-01-29 19:32:05
【问题描述】:

使用 Razor 页面是否可以从单个 Razor 页面创建多个网页?

例如,而不是使用如下查询字符串:

example.com/Movies?ID=1
example.com/Movies?ID=2
...
example.com/Movies?ID=999

从单个 Razor 页面(开发机器上的单个物理 Razor 页面)创建所有这些:

example.com/Movies/1
example.com/Movies/2
...
example.com/Movies/999

我知道相反的情况是通过更改路由使许多 URL 与单个 Razor 页面相关。

【问题讨论】:

  • 是的,你可以......它有点过时,但你可以在 c# 中创建 HTML 并传递给 ViewBag。
  • 所以你想要后一种 URL 格式而不是第一种?路由就可以了
  • 我不确定这是否能回答我的问题。我知道 Razor 页面是在 MVC 之上构建的,但同时 asp.net 核心团队建议 Razor 页面是构建网站的推荐路径。不确定 Razor 页面是否旨在以我询问的方式生成网页,或者它是否是您需要/应该使用常规 MVC 的东西。

标签: c# asp.net-core razor-pages


【解决方案1】:

这是一个使用 .Net Core 3.1 和 Razor 页面的示例:

在 Movies.cshtml 的第 1 行添加 @page "{ID:int?}"

在 Movies.cshtml.cs 中,您检查 ID 的值并用它做一些有用的事情。

在浏览器中是这样的:

【讨论】:

【解决方案2】:

也许你可以尝试在 RouteConfig.cs 中路由,或者你可以在控制器中重定向。

在 2.Option 中可以创建这样的表

ID |网址
1 |链接1
2 |链接2

在控制器中,您可以从表中获取链接并重定向到 URL。

【讨论】:

    猜你喜欢
    • 2018-09-08
    • 2018-09-29
    • 2010-11-07
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2011-06-19
    相关资源
    最近更新 更多