Razor asp操作帮助程序不适用于索引操作

Razor asp操作帮助程序不适用于索引操作,razor,asp.net-core-mvc,asp.net-core-2.0,Razor,Asp.net Core Mvc,Asp.net Core 2.0,我想我可能快疯了。我有一个控制器(TrainingOfficer),它有一些方法,但特别是它有Index(): 然后我想链接到那个控制器/动作,所以我写下: <a class="nav-link" asp-area="" asp-controller="TrainingOfficer" asp-action="Index">Training</a> 这一切都很好,只是当我离开url的“/Index”时,它现在只在屏幕上打印“value”: 继续奇怪的事情: 如果我

我想我可能快疯了。我有一个控制器(TrainingOfficer),它有一些方法,但特别是它有Index():

然后我想链接到那个控制器/动作,所以我写下:

<a class="nav-link" asp-area="" asp-controller="TrainingOfficer" asp-action="Index">Training</a>

这一切都很好,只是当我离开url的“/Index”时,它现在只在屏幕上打印“value”:

继续奇怪的事情:

  • 如果我去培训办公室/索引,它运行良好,符合预期
  • 如果我将索引重命名为indexsol,并将indexsol作为asp操作放在链接中,href标记看起来很棒,一切正常
  • 为什么名为Index的方法会出现这样的问题?


    更奇怪的是,我敢肯定这在一个月内没有任何变化,效果很好,然后最近开始表现出这种行为。我升级了我的.Net核心nuget包,所以这可能就是罪魁祸首

    您正在使用具有
    索引的默认路由作为默认操作,因此
    /Index
    被省略(这是默认行为)。如果你有
    asp controller=“Home”
    ,你会看到url就像
    /
    一样,因为
    Home
    是默认的控制器。@Stephenmueecke知道为什么省略了“/index”,它只说“value”?似乎很奇怪。您的
    Index()
    方法中的代码是什么?
    <a class="nav-link" asp-area="" asp-controller="TrainingOfficer" asp-action="Index">Training</a>
    
    <a class="nav-link" href="/TrainingOfficer">Training</a>