Asp.net core 神秘的页面路径-它来自哪里?
我有一个习俗:Asp.net core 神秘的页面路径-它来自哪里?,asp.net-core,razor-pages,Asp.net Core,Razor Pages,我有一个习俗: public class RegionLanguagePageRouteModelConvention : IPageRouteModelConvention { public void Apply(PageRouteModel model) { foreach (var selector in model.Selectors.ToList()) { if (s
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)
}
});
}
}
}
}
现在,当我在我的IndexModel
上检查RouteData.Values
中的OnGet()
时,在RouteData.Values
集合中有一个我从未见过的全新的键/值对:
Key: "page"
Value: "/Index"
它是如何到达那里的?我期待着:
Key: ""
Value: ""
…因为我删除了自定义约定类中的“索引”模板,只保留了“”模板
此外,在迭代foreach
循环时,在RegionLanguagePageRouteModelConvention
中设置断点时,我在任何页面/选择器中都看不到“页面”(键)/“索引”(值)模板