【问题标题】:ASP.NET Core 3.1 Razor Page Route Ambiguous Match ExceptionASP.NET Core 3.1 Razor 页面路由不明确匹配异常
【发布时间】:2020-08-05 12:15:53
【问题描述】:

在剃须刀页面中,我为用户提供了最多比较 3 种产品的选项。 它适用于 2,但是当我打开 3 产品的链接时,它给了我“AmbiguousMatchException”

我在 Startup.cs 中的路线如下:

options.Conventions.AddPageRoute("/Compare", "compare/{ProductCode1}(vs){ProductCode2}(vs){ProductCode3}");
options.Conventions.AddPageRoute("/Compare", "compare/{ProductCode1}(vs){ProductCode2}");
options.Conventions.AddPageRoute("/Compare", "compare/{ProductCode1}");

它处理 第一个产品的“/compare/p1” p1 和 p2 的“/compare/p1(vs)p2”

但是下面的 url 出现错误但是我在第一条路线上定义了它 "/比较/p1(vs)p2(vs)p3"

而且错误很有趣:

AmbiguousMatchException: The request matched multiple endpoints. Matches:
/Compare
/Compare
/Compare

没错,我为所有 3 个路线都定义了这个页面,第 3 个产品有什么问题??

【问题讨论】:

    标签: asp.net-core exception routes startup razor-pages


    【解决方案1】:

    我通过将所有路由替换为一个并将那个参数拆分为所有产品代码来解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2020-05-06
      • 2019-05-22
      • 2020-05-25
      • 2020-05-06
      • 2018-11-14
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 2020-02-25
      相关资源
      最近更新 更多