ASP.NET Core路由给出404

时间:2019-07-11 20:42:23

标签: asp.net-mvc asp.net-core routes

我有一个ASP.NET Core 2.2 MVC网站,并且具有以下路由...

routes.MapRoute("campaign", "{code}/{teamID}/{action=Index}/{controller=Campaign}");
routes.MapRoute("campaign", "{code}/{action=Index}/{controller=Campaign}");

...使用以下控制器方法...

public async Task<IActionResult> Index(string code, int? teamID)

这意味着以下映射有效...

/fred -> /Campaign/Index?code=fred
/fred/123 -> /Campaign/Index?code=fred&teamID=123

我现在想添加一条路线以执行以下操作...

/fred/Team/123 -> /Team/Index?code=fred&ID=123

我添加了以下路线...

routes.MapRoute("team", "{code}/Team/{id}/{controller=Team}");

...以及我的TeamController的以下内容...

public async Task<IActionResult> Index(string code, int id)

...但是当我尝试访问/fred/Team/123时,我得到了404。

有人能解释我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

我忘记将动作包括在路线中。以下是我想要的作品...

routes.MapRoute("team", "{code}/Team/{id}/{action=Index}/{controller=Team}");

感谢@KirkLarkin在我回来报告我找到相同答案的同时将其作为评论发布了:)