@alexkr_net

Маршрут с префиксом в Razor Pages: как организовать генерацию ссылок?

Возникла следующая проблема: мне необходимо создать два разных маршрута в Razor Pages. Первый - стандартный, второй - с префиксом к примеру simple.

Делаю это следующим образом: реализую интерфейс IPageRouteModelConvention и добавляю свой темплейт с префиксом simple

public class SimplePageRouteModelConvention : IPageRouteModelConvention
{
    public void Apply(PageRouteModel model)
    {
        var selectorCount = model.Selectors.Count;
        for (var i = 0; i < selectorCount; i++)
        {
            var selector = model.Selectors[i];
            model.Selectors.Add(new SelectorModel
            {
                AttributeRouteModel = new AttributeRouteModel
                {
                    Template = AttributeRouteModel.CombineTemplates("simple", selector.AttributeRouteModel.Template)
                }
            });
        }
    }
}

Всё отлично работает, как sitename/info так и sitename/simple/info. Оба маршрута ведут к файлу info.cshtml.

Проблема заключается в генерируемых ссылках. К каждой ссылке добавляется префикс simple, который мы добавили в маршруте. Притом не важно обращаюсь я к странице без simple sitename/info или с simple sitename/simple/info ссылки всегда содержат simple.

Не могу понять, как мне добиться того, чтобы ссылки генерировались в зависимости от того через какой маршрут я обращаюсь к странице.
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы