Я использую следующую бритву на своей странице:
<a asp-action="Logs" asp-route-channel="@channel.Name">
<button class="btn btn-success btn-circle"><i class="fa fa-eye"></i></button>
</a>
channel
- это строка, а не целое число, поэтому я не использую id
.
И вот как я это маршрутизирую:
endpoints.MapControllerRoute("logs", "Dashboard/Logs/{channel}");
И в моем контроллере я просто делаю это для целей тестирования:
public IActionResult Logs(string channel)
{
return Content(channel);
}
Однако, когда ссылка генерируется, я получаю что-то вроде этого:
<a href="/Dashboard/Logs?channel=mychannel">
Вместо ожидаемого:
<a href="/Dashboard/Logs/mychannel">
РЕДАКТИРОВАТЬ
Вот что Я пробовал:
[HttpGet("{channel}")]
public IActionResult Logs(string channel)
{
return Content(channel);
}
Что приводит к https://localhost:44351/mychannel
Я также пробовал:
[HttpGet("Dashboard/Logs/{channel}")]
public IActionResult Logs(string channel)
{
return Content(channel);
}
Что работает, как задумано, но почему я должен должен включать весь путь, как это?