В 2017 году я работаю над проектом Visual Studio CE, использующим .Net Core 2.0. Я создал каталог API для моих контроллеров Web API и каталог Controllers для моих стандартных контроллеров MVC.
У меня есть StoresController в каждом каталоге. В каталоге API атрибут Route указан как [Route("api/[controller]")]
. Тот, что находится в каталоге Controllers , не имеет атрибута Route; он использует маршруты по умолчанию, установленные в Startup.cs .
Я создал следующую ссылку Удалить в своем представлении «Редактировать» с помощью встроенных помощников тегов: <a asp-action="Delete" asp-controller="Stores" asp-route-id="@Model.Id" class="btn btn-danger">Delete</a>
По какой-то причине это ссылка на / api / stores / {id} вместо / stores / delete / {id} . Есть ли способ настроить помощники тегов для использования маршрутов MVC по умолчанию вместо маршрутов API? Или мне нужно переименовать имена классов / действий?
Обновление: Атрибут Route
имеет параметр Order
, который должен влиять на приоритет маршрута при разрешении запросов. Изменение этого значения не повлияло на вывод вспомогательного тега.