MVC路由模糊行为

时间:2015-08-04 15:26:35

标签: asp.net-mvc asp.net-mvc-routing

找到了与URL匹配的多种控制器类型。如果多个控制器上的属性路由与请求的URL匹配,则会发生这种情况。

public class my1Controller: Controller
[Route("path/{param1}", Name = "test1")]
public ActionResult myaction1(string param1)

public class my2Controller: Controller
[Route("path/{param2}", Name = "test2")]
public ActionResult myaction2(string param2)

有没有绕过这个?对于历史搜索引擎优化,我需要有两个相似的网址,它们具有不同的单字符串参数。

1 个答案:

答案 0 :(得分:2)

您的URL是相同的,无法区分它们,并且两个控制器/操作都匹配。这是因为参数名称在两条路线之间选择没有价值

您可以使用应用于param1和param2的内联约束来帮助路由选择其中一个。或者确保“路径”不同