0

在文档中,它声明您可以从界面中删除默认视图。我添加了一个带有以下代码的新菜单项选项卡:

Piranha.WebPages.Manager.Menu.Where(m => m.InternalId == "Content").Single().Items.Add(
     new Piranha.WebPages.Manager.MenuItem()
     {
         Name = "TSI Post",
         Action = "Index",
         Controller = "TSIPost",
         Permission = "ADMIN_POST"
     });

我想删除默认的发布选项卡。我尝试了以下代码的许多变体。

 Piranha.WebPages.Manager.Menu.Where(m => m.InternalId == "Content").Single().Items.Remove(
     new Piranha.WebPages.Manager.MenuItem()
     {
         InternalId = "Posts",
         Name = "Posts",
         Action = "index",
         Controller = "post",
         Permission = "ADMIN_POST"
     });

删除选项卡的正确语法是什么?

4

1 回答 1

0

第二段代码的问题在于,您正在创建一个尚未添加的全新 MenuItem,然后您尝试将其从集合中删除。这个新对象不存在,所以什么也没有发生。要删除默认的帖子页面,您可能需要编写如下内容:

Manager.Menu.Where(m => m.InternalId == "Content")
  .Single().Items.Remove(
    Manager.Menu.Where(m => m.InternalId == "Content").Single()
      .Items.Where(i => i.InternalId == "Posts").Single());

此语句删除当前菜单集合中存在的内部 id 为“Posts”的项目。

问候

哈坎

于 2015-03-06T09:35:31.563 回答