Когда я использую asp-controller и asp-action в теге <a>
для другого действия, отличного от текущего, в представлении, вызываемом методом контроллера с атрибутом [Route]
, сгенерированная ссылка имеет пустой атрибут href
.
В контроллере:
public class ForumController : Controller
{
[Route("[action]/{sectionId:int}")]
public async Task<IActionResult> ShowSection(int sectionId)
{
//some code
}
}
В представлении:
<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>
Сгенерированный HTML:
<a href="">Index</a>
<a href="/ShowSection/1">Général</a>
Как видите, первая ссылка сгенерирована некорректно. Все ссылки, которые нацелены на другое действие, отличное от текущего действия, генерируются с пустым тегом href
.
Когда я удаляю атрибут [Route] действия ShowSection:
<a href="/Forum">Index</a>
<a href="/Forum/ShowSection?sectionId=1">Général</a>
Как видите, ссылки генерируются корректно.
Как я могу исправить это, сохранив атрибуты [Route]
(или с альтернативой)?
Index()
действие вместе с регистрацией маршрутизации в вашемStartup.cs
- person haim770   schedule 16.05.2016