Таинственный маршрут страницы - откуда он взялся? - PullRequest
1 голос
/ 04 апреля 2019

У меня есть это соглашение:

public class RegionLanguagePageRouteModelConvention : IPageRouteModelConvention
    {
        public void Apply(PageRouteModel model)
        {
            foreach (var selector in model.Selectors.ToList())
            {
                if (selector.AttributeRouteModel.Template == "Index")
                {
                    model.Selectors.Remove(selector);
                }

                if (selector.AttributeRouteModel.Template == "")
                {
                    model.Selectors.Add(new SelectorModel
                    {
                        AttributeRouteModel = new AttributeRouteModel
                        {
                            Template = AttributeRouteModel.CombineTemplates("{regionParam1}/{languageParam2}-{regionParam3}/{slugParam4}", selector.AttributeRouteModel.Template)
                        }
                    });
                }
            }
        }
    }

Теперь, когда я проверяю RouteData.Values в OnGet() на моем IndexModel, в коллекции RouteData.Values совершенно новая пара ключ / значение, которую я никогда не видел:

Key: "page"
Value: "/Index"

Как он туда попал? Я ожидал:

Key: ""
Value: ""

.. потому что я удалил шаблон «Index» в своем классе пользовательских соглашений и оставил только «».

Кроме того, при установке точки останова в RegionLanguagePageRouteModelConvention во время итерации цикла foreach я не вижу шаблон "page" (ключ) / "Index" (значение) ни на одной из страниц / селекторов.

...