AspNetCore在尝试使用Action Parameter时给出404

时间:2017-04-08 05:33:00

标签: asp.net-core

我有一个动作:

/calculator/

我有一个在Startup.cs中映射的路由

/calculator/123

如果我去: /calculator/?id=123我得到"价值:0"

如果我去: routes.MapRoute( name: "calculator", template: "{controller=Calculator}/{action=Index}/{id}"); 我找到404 Page Not Found

如果我去: result.getTitle()我得到了"价值:123"

我试过为计算器控制器添加另一条路线,看看是否有所作为:

case MENU:
   final MedicMenuVH MedicMenuVH = (MedicMenuVH) holder;
   MedicMenuVH .mMenuTitle.setText(result.getTitle());
   ...
break;

但是当我访问/ calculator / 123时仍然得到404

如何让我的网址直接工作而无需使用查询字符串?

1 个答案:

答案 0 :(得分:0)

当然,在我发布问题后5分钟,我认识到这个问题,因为我意识到答案

我应该去/calculatore/index/123

/calculator/123将寻找名为123的行动

/calculator/id=123有效,因为它将123指定为Id,因此它知道根据MapRoute中定义的内容将缺少的action-name默认为Index

谢谢你们