Включить параметры в ASP.NET Core REST URL
У меня есть проект, который содержит отчеты. Читая о лучших практиках отдыха, я думаю, что у меня должен быть URL-адрес, подобный следующему, на страницу со списком всех отчетов:
http://../Projects/23/Reports
Для просмотра конкретного отчета я бы использовал ссылку, подобную следующей:
http://../Projects/23/Reports/2
Я безуспешно пытался создать эти ссылки с помощью помощников тегов asp. Например:
<a asp-page="/Projects/{pid}/Reports/{rid}" asp-route-pid="@item.ID" asp-route-rid="@report.ID" >View Report</a>
По умолчанию это выглядит так, как будто asp-route-* будет привязывать эти элементы как параметры (то есть? Pid=23&rid=2), и это может сработать, но это не похоже на рекомендуемые URL-адреса.
1 ответ
Вы можете определить собственную страницу маршрутизации бритвы рядом с директивой @page в вашем файле *.cshtml.
@page "{pid}/{rid}"
В результате у вас будет следующий URL, когда ваша страница бритвы - Projects.cshtml.
/Projects/23/2
Вы также можете добавить статическую информацию в свой URL.
@page "{pid}/Reports/{rid}"
Теперь ваш URL будет
/Projects/23/Reports/2
Если вы хотите определить маршрутизацию для всех страниц бритвы, вы можете посмотреть, как я это сделал, чтобы определить текущий язык в этом посте.
Ядро Asp.net Локализация всегда возвращает английский язык
Я надеюсь, что это помогает.