除了稍微改变之外,我的问题几乎与question类似。有一个添加菜单的解决方案,比如我也想在不同的过程中添加菜单。
目前我正在开发一个关于组合促销优惠的项目。因此,我想在Promotion
下添加一个子菜单,与所有其他子菜单一样image
但我开发的是创建一个名为Plugins
的单独菜单并在其中添加子菜单。像这样image
这是我用来创建该菜单的代码。
public void ManageSiteMap(SiteMapNode rootNode)
{
var menuItem = new SiteMapNode()
{
SystemName = "Promotion.Combo",
Title = "Combo Offer",
ControllerName = "PromotionCombo",
ActionName = "Configure",
Visible = true,
RouteValues = new RouteValueDictionary() { { "area", null } },
};
var pluginNode = rootNode.ChildNodes.FirstOrDefault(x => x.SystemName == "Third party plugins");
if (pluginNode != null)
pluginNode.ChildNodes.Add(menuItem);
else
rootNode.ChildNodes.Add(menuItem);
}
我想知道从哪个SystemName
添加这个子菜单?
答案 0 :(得分:5)
您可以使用:
public void ManageSiteMap(SiteMapNode rootNode)
{
var menuItem = new SiteMapNode()
{
SystemName = "Promotion.Combo",
Title = "Combo Offer",
ControllerName = "PromotionCombo",
ActionName = "Configure",
Visible = true,
RouteValues = new RouteValueDictionary() { { "area", null } },
};
var pluginNode = rootNode.ChildNodes.FirstOrDefault(x => x.SystemName == "Promotions");
if (pluginNode != null)
pluginNode.ChildNodes.Add(menuItem);
else
rootNode.ChildNodes.Add(menuItem);
}
您查找的系统名称是
促销