Создать псевдоним для страницы бритвы - PullRequest
0 голосов
/ 21 ноября 2018

Я играю со страницами бритвы asp.net.

Я создал стандартное приложение asp.net core 2.1, затем добавил 3 страницы:

enter image description here

По соглашению по умолчанию страницы будут доступны по пути:

Page1 -> http://localhost/Page1
Page2 -> http://localhost/Folder/Page2
Page3 -> http://localhost/Page3

А теперь я хочу добавить псевдоним для страницы2, например, что-то вроде этого:

Page1 -> http://localhost/Page1
Page2 -> http://localhost/Page2
Page2 -> http://localhost/Folder/Page2
Page3 -> http://localhost/Page3

Можно ли создать дополнительный маршрут / псевдоним для этой страницы без добавление файла-как-ссылки ?

Указание маршрута страницы в @ page

@page "/Page2"
@{
    ViewData["Title"] = "Page2";
}

<h2>Page2</h2>

делает страницу 2 доступной как http://localhost/Page2, но не как http://localhost/Folder/Page2: (

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Вы можете достичь этого с помощью AddPageRoute(...).Вот пример для вашей ситуации:

services
    .AddMvc()
    .AddRazorPagesOptions(options =>
    {
        options.Conventions.AddPageRoute("/Folder/Page2", "/Page2");
    });
0 голосов
/ 21 ноября 2018

Это может помочь.https://github.com/T4MVC/T4MVC

T4MVC - это шаблон T4 для приложений ASP.NET MVC, который создает строго типизированные помощники, которые исключают использование буквальных строк во многих местах.

генерировать буквенные пути для ваших представлений, тогда вы можете возвращать разные представления из одного и того же действия.

if (someCondition){
    return View(this.ViewNames.Page2)
}
else {
    return View(this.ViewNames.Folder_Page2)
}
...