神秘的页面路线-它来自哪里?

时间:2019-04-04 17:13:28

标签: asp.net-core razor-pages

我有这个自定义约定:

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的{​​{1}}中检查OnGet()的{​​{1}}时,IndexModel集合中就有一个全新的键/值对,这是我以前从未见过的: / p>

RouteData.Values

它是怎么到达那里的?我期待中:

Key: "page"
Value: "/Index"

..因为我在自定义约定类中删除了“索引”模板,而只留下了“”模板。

另外,当在Key: "" Value: "" 循环中设置RegionLanguagePageRouteModelConvention的断点时,在任何页面中都看不到“页面”(键)/“索引”(值)模板/选择器。

0 个答案:

没有答案