Я создаю .NET Core API для чтения / записи / обновления / удаления информации из базы данных.Я настроил кости, и теперь я пытаюсь объединить взгляды, чтобы все выглядело лучше.Я использовал возможности лесов Visual Studio 2017 для настройки некоторых основных видов.Прямо сейчас работает представление index.cshtml, оно отображает информацию из каждой строки базы данных вместе с возможностью редактировать, просматривать детали или удалять каждую строку.Это добавляется через следующие 3 строки, которые вставляются в теги <td>
в операторе foreach
для циклического просмотра результатов для базы данных (item
- так называется каждая строка в наборе результатов из базы данных)
<a asp-action="Edit" asp-route-id="@item.id">Edit</a> |
<a asp-action="Details" asp-route-id="@item.id">Details</a> |
<a asp-action="Delete" asp-route-id="@item.id">Delete</a>
На данный момент у меня работает только одна ссылка - подробности, которая использует функцию из моего класса контроллера и выводит меня только на одну конкретную строку.Я заметил, что hrefs edit и details не получают идентификатор строки, и в результате эти ссылки просто возвращают меня на страницу индекса, на которой я уже работаю.При наведении на каждую ссылку, вот что я вижу, каждый href установлен на -
Edit: localhost: port / api / results
Подробности: localhost: порт / api / results / 1 (это, как я полагаю, два других должны выглядеть примерно так)
Удалить: localhost: port /api / results
Я уже провел небольшую отладку / исследование, и вот мои вопросы:
Могут ли несколько маршрутов иметь один и тот же URI, если они разныевещи?Например, ссылка подробностей - это HttpGet, тогда как удаление - это HttpDelete.Могут ли они иметь один и тот же URI, если используют разные методы HTTP?
Должен ли быть контроллер, который что-то делает с данным маршрутом, прежде чем Razor правильно соберет маршрут??
Все, что я пропустил, может быть причиной того, что идентификатор не добавляется в гиперссылку?Все 3 маршрута редактирования / детализации / удаления настроены одинаково, но идентификатор добавляется в маршрут только для деталей, а не для редактирования или удаления.