Razor Pages ASP.Net Core 2.0 Routing - 可以在URL中间放置参数吗?

时间:2017-12-16 12:44:59

标签: asp.net razor url-routing asp.net-core-2.0

是否可以在Razor页面的URL中间放置一个参数?

示例:

文件结构:

  • / products / Index< ---显示产品列表
  • / Products / Product / Index< - Product Page
  • / Products / Product / Page1
  • /产品/产品/第2页
  • /产品/产品/ ListOfAccessories /索引
  • /产品/产品/ ListOfAccessories /细节

我可以为产品列表创建路线,但无法使用 options.Conventions.AddPageRoute

在网址中间找出参数

由于

1 个答案:

答案 0 :(得分:4)

您可以使用与控制器路径相同的方式添加约定和使用参数。

 options.Conventions.AddPageRoute("/Products", "products/{id}/details")
 options.Conventions.AddPageRoute("/Products", "products/{id}/listofaccesories")

或以更一般的方式

 options.Conventions.AddPageRoute("/Products", "products/{id}/{handler}")

razor页面引擎将使用 {handler} 参数来查找映射此路由的方法。 这两种配置会将网址 / products / 20120 / details 发送到ProductsModel页面,将20120作为id参数并选择{{1 Details内的处理程序。

ProductsModel