0

Asp.net mvc 5.1 引入了以下重大更改(http://www.asp.net/mvc/overview/releases/mvc51-release-notes):

属性路由匹配中的歧义现在将报告错误,而不是选择第一个匹配。

我有以下内容:

一些控制器:

[Route("{sort=data}/{page:int=1}/{type:values(completo|parcial)=completo}", Name = "Default"), OutputCache(Duration = 5)]
public ActionResult Index(string sort, int page, string type)

帐户控制器:

[AllowAnonymous, Route("entrar")]
public ActionResult Login(string returnUrl)

当我尝试访问/进入时,它会导致索引控制器出现歧义。

有想法该怎么解决这个吗?

谢谢你。

4

1 回答 1

0

以这种方式修复它:

[Route("{sort:values(mais-votados-7|comentado-por-ultimo|data)=data}/{page:int=1}/{type:values(completo|parcial)=completo}", Name = "Default")]
[OutputCache(Duration = 5)]
public ActionResult Index(string sort, int page, string type)

通过设置 {sort} 的允许值,/entrar 不再匹配该路由。

于 2014-03-13T00:34:09.067 回答