我有一个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。
有人能解释我做错了什么吗?
答案 0 :(得分:0)
我忘记将动作包括在路线中。以下是我想要的作品...
routes.MapRoute("team", "{code}/Team/{id}/{action=Index}/{controller=Team}");
感谢@KirkLarkin在我回来报告我找到相同答案的同时将其作为评论发布了:)