Mvcsitemapprovider mvc站点地图提供程序:菜单消失
我正在使用mvcsitemap为我正在开发的Web应用程序创建菜单、子菜单和面包屑。我在xml配置中使用PreserveRouteValue,以便在呈现链接时绕过我的(许多)参数。当用户开始使用查询参数时,菜单/子菜单/面包屑会在加载一些页面后消失。这是不一致的,我不能复制它所有的时间,但它发生的方式太多 我的路线Mvcsitemapprovider mvc站点地图提供程序:菜单消失,mvcsitemapprovider,Mvcsitemapprovider,我正在使用mvcsitemap为我正在开发的Web应用程序创建菜单、子菜单和面包屑。我在xml配置中使用PreserveRouteValue,以便在呈现链接时绕过我的(许多)参数。当用户开始使用查询参数时,菜单/子菜单/面包屑会在加载一些页面后消失。这是不一致的,我不能复制它所有的时间,但它发生的方式太多 我的路线 routes.MapRoute( name: "ForwardCurveDefault", url:
routes.MapRoute(
name: "ForwardCurveDefault",
url: "forward-curve/{commoditycode}/{selectedyear}-{selectedmonth}-{selectedday}",
defaults: new {
controller = "ForwardCurve", action = "index",
selectedyear = default(DateTime).Year,
selectedmonth = default(DateTime).Month,
selectedday = default(DateTime).Day,
commoditycode = "none"
}
);
routes.MapRoute(
name: "Consumption",
url: "consumption/{commoditycode}/{managedcompanyid}/{entityid}/{startyear}-{startmonth}-{startday}/{endyear}-{endmonth}-{endday}",
defaults: new {
controller = "Consumption", action = "Index",
// begining of current month.
startyear = default(DateTime).Year,
startmonth = default(DateTime).Month,
startday = default(DateTime).Day,
// end of current month.
endyear = default(DateTime).Year,
endmonth = default(DateTime).Month,
endday = default(DateTime).Day,
commoditycode = "none",
managedcompanyid = 0,
entityid = 0,
}
);
routes.MapRoute(
name: "Budget",
url: "budget/{commoditycode}/{managedcompanyid}/{entityid}/{startyear}-{startmonth}-{startday}/{endyear}-{endmonth}-{endday}",
defaults: new {
controller = "Budget", action = "Index",
// begining of current month.
startyear = default(DateTime).Year,
startmonth = default(DateTime).Month,
startday = default(DateTime).Day,
// end of current month.
endyear = default(DateTime).Year,
endmonth = default(DateTime).Month,
endday = default(DateTime).Day,
commoditycode = "none",
managedcompanyid = 0,
entityid = 0,
}
);
我的网站地图
<mvcSiteMapNode title="Data Management" controller="ForwardCurve" action="Index" key="DataManagement" preservedRouteParameters="commoditycode,selectedyear,selectedmonth,selectedday">
<mvcSiteMapNode title="Forward curves" controller="ForwardCurve" action="Index" key="forwardcurve" preservedRouteParameters="commoditycode,selectedyear,selectedmonth,selectedday"/>
<mvcSiteMapNode title="Consumption" controller="Consumption" action="Index" key="consumption" preservedRouteParameters="commoditycode,managedcompanyid,entityid,startyear,startmonth,startday,endyear,endmonth,endday"/>
<mvcSiteMapNode title="Budget" controller="Budget" action="Index" key="budget" preservedRouteParameters="commoditycode,managedcompanyid,entityid,startyear,startmonth,startday,endyear,endmonth,endday"/>
</mvcSiteMapNode>
我有一份不错的菜单。在来回切换到不同的查询值之后,我最终进入了一个包含有效URL且没有菜单的页面。我可以看到我的currentNode为空。您是否已与签出此项?节点匹配逻辑有了一些显著的改进