更改routeconfig

时间:2016-01-27 13:26:31

标签: c# asp.net-mvc asp.net-mvc-5 asp.net-mvc-routing

在RouteConfig文件中,我看到:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

然后在我的控制器中映射到

public Person Get(int id)
{
    return _personService.GetPersoonByInszNumber("11111111111");
}

现在我想更改它,以便映射到以下内容:

public Person Get(string inszNumber)
{
    return _personService.GetPersoonByInszNumber(inszNumber);
}

我该怎么做?

1 个答案:

答案 0 :(得分:1)

可以使用attrubute routing

完成
[Route("Persons/Get/{id:int}")]
public Person Get(int id)
{
    ....
}

[Route("Persons/Get/{inszNumber}")]
public Person Get(string inszNumber)
{
    ....
}

只需添加适当的属性(此处我假设您的控制器名称为PersonsController。在其他情况下,将其更改为适合您的操作。

还要确保在默认路由声明之前的RegisterRoutes方法中有这行代码:

routes.MapMvcAttributeRoutes();