После https://www.learnrazorpages.com/razor-pages/routing и «Дружественные маршруты»
С такой структурой папок:
~Pages / (or "Areas" in last example)
External
PageA
Index.cshtml
Internal
PageB
Index.cshtml
И затем я хочу добавить эти маршруты
services.AddMvc()
.AddRazorPages(options =>
{
// Even though above guide states this route it...
// throws exception for "External/PageA" so I have to set "/External/PageA"
options.Conventions.AddPageRoute("External/PageA", "/A");
// throws exception for "External/PageB" so I have to set "/External/PageB"
options.Conventions.AddPageRoute("Internal/PageB", "/B");
});
Но все, что я получаю, это 404 не найденЯ пробовал несколько комбинаций.Я даже следовал за установкой Area и переместил ее в области с такой же структурой внутри папки Area:
services.AddMvc()
.AddRazorPages(options =>
{
options.AllowAreas = true;
// Also tried "PageA" and "/PageA", "A" and "/A"
options.Conventions.AddAreaPageRoute("External", "/PageA", "/A");
// Also tried "PageB" and "/PageB", "B" and "/B"
options.Conventions.AddAreaPageRoute("Internal", "/PageB", "/B");
});
Это больше похоже на то, что вся установка соглашения полностью игнорируется, так как прогресс был 0%.
Единственный способ получить доступ к странице - написать полное имя папки.Но я не хочу этого.Мне нужна более чистая структура маршрутизации, чем структура папок, которая на данный момент кажется невозможной.
Есть предложения - есть идеи?