asp.net 5 MVC6中tag-helpers和Route属性之间的奇怪行为

Gil*_* V. 5 html c# asp.net-core-mvc tag-helpers asp.net5

当我在<a>标签中使用asp-controller和asp-action而不是当前的Action时,在带有[Route]属性的Controller Method调用的View中,生成的链接具有空href属性.

在控制器中:

public class ForumController : Controller
{
    [Route("[action]/{sectionId:int}")]
    public async Task<IActionResult> ShowSection(int sectionId)
    {
        //some code
    }
}
Run Code Online (Sandbox Code Playgroud)

在视图中:

<a asp-controller="Forum" asp-action="Index">Index</a>
<a asp-controller="Forum" asp-action="ShowSection" asp-route-sectionId="@Model.ParentSection.Id">@Model.ParentSection.Name</a>
Run Code Online (Sandbox Code Playgroud)

生成的html:

<a href="">Index</a>
<a href="/ShowSection/1">Général</a>
Run Code Online (Sandbox Code Playgroud)

如您所见,第一个链接未正确生成.使用空href标记生成所有以当前Action为目标的另一个Action的链接.

当我删除ShowSection操作的[Route]属性时:

<a href="/Forum">Index</a>
<a href="/Forum/ShowSection?sectionId=1">Général</a>
Run Code Online (Sandbox Code Playgroud)

如您所见,链接已正确生成.

如何在保持我的[Route]属性(或替代方案)的同时解决这个问题?

Gil*_* V. 0

我终于找到了(@haim770 评论有帮助):

我向所有控制器和操作添加了一个 Route 属性,现在它可以工作了。