Возникла следующая проблема: мне необходимо создать два разных маршрута в 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.
Не могу понять, как мне добиться того, чтобы ссылки генерировались в зависимости от того через какой маршрут я обращаюсь к странице.