У меня есть следующий код на странице бритвы:
@Url.Action("ArticleDetails", "Information", new { slug = article.Slug })
URL-адрес страницы, на которой размещен этот код, имеет вид http://localhost/category/6/category-name
, где 6
- идентификатор категории
В InformationController
у меня есть следующие действия:
[HttpGet("article/{id}/{slug}")]
public IActionResult ArticleDetails(int id, string slug)
{
// some code ...
return View(data);
}
[HttpGet("article/{slug}")]
public IActionResult ArticleDetails(string slug)
{
// some code ...
return View(data);
}
Как я могу получить URL формы article/article-slug
, потому что @Url.Action(...)
, который есть на странице, всегда пытается достичь действия контроллера сидентификатор, даже если идентификатор не указан как анонимный тип.
Ссылки принимают форму article/6/article-slug
, вместо этого я хочу, чтобы они были article/article-slug
без удаления действия с идентификатором в контроллере.
Я заметил, что 6 от id категории.Также, если я удалю действие контроллера с помощью Id, я получу правильный формат URL.