Как правило, мы напрямую используем имя контроллера и действие в виде строк, как показано ниже:
(Однако эта формулировка не может быть изменена автоматически после изменения имени контроллера, вам нужно изменить вручную )
<a class="nav-link text-dark" asp-controller="Operation" asp-action="Index"> </a>
1. Согласно вашей текущей формулировке, вы можете обновить код следующим образом:
(Это будет динамически меняться при изменении имени контроллера)
<a class="nav-link text-dark" asp-controller="@nameof(OperationController).Replace("Controller","")" asp-action="@nameof(OperationController.Index)"> link </ a>
2 . В качестве альтернативного решения вы можете добавить атрибут Route
к действию, указанному тегом a, и установить имя маршрута.
В теге вам нужно использовать только asp-route
для связать соответствующее действие.
Пожалуйста, обратитесь к this .
<a class="nav-link text-dark" asp-route="MyRouteName"> link </a>
Контроллер:
public class OperationController: Controller
{
[Route ("CustomControllerName/Index", Name="MyRouteName")]
public IActionResult Index ()
{
return View ();
}
}