Microsoft представила Razor Pages в ASP.NET Core 2.0 в качестве альтернативы MVC. Мы планируем перенести наше устаревшее приложение ASP.NET MVC 5 на NET Core, и Microsoft рекомендует в дальнейшем использовать Razor Pages вместо MVC.
В настоящее время мы используем структуру T4MVC для создания строго типизированных объектов ActionResult для создания сложных меню навигации. Навигационное меню создается с использованием модели просмотра, которая представляет собой связанный список маршрутов ActionResult, где каждый маршрут может быть чем-то довольно сложным, например:
https://example.com/Client/1/Documents/2/Edit?p1=123&p2=ABC&h2=456
В T4MVC я могу добавить это действие контроллера в свою модель просмотра с помощью:
menu.Add(MVC.Client.Documents.Edit(cliendId, documentId, requestParameters));
Документация по ASP не содержит подробных сведений о том, как создавать маршруты в коде, кроме простого: RedirectToPageResult ("./ Index"), так как же создать более сложные маршруты страниц без использования T4MVC или использования волшебных строк?