C# 用于删除网站操作菜单项的Sharepoint自定义操作

C# 用于删除网站操作菜单项的Sharepoint自定义操作,c#,sharepoint,sharepoint-2010,custom-action,C#,Sharepoint,Sharepoint 2010,Custom Action,我花了几个小时研究如何在站点操作菜单中隐藏两个按钮(新建页面和管理站点内容和结构) 这是我的具体情况。。。我有一个列表,当用户正在查看时,我希望能够删除某些按钮。如果用户是管理员,则这些按钮应显示或不显示。。。目前,我已经能够利用隐藏操作(代码如下)删除这两个按钮。隐藏自定义操作的问题在于,没有属性可指定列表或内容类型,因此无法关闭。此外,没有类似于CustomActions中的属性只向管理员显示按钮(下面是我想在CustomActions中执行的操作的示例代码) 排尿术代码: <Hide

我花了几个小时研究如何在站点操作菜单中隐藏两个按钮(新建页面和管理站点内容和结构)

这是我的具体情况。。。我有一个列表,当用户正在查看时,我希望能够删除某些按钮。如果用户是管理员,则这些按钮应显示或不显示。。。目前,我已经能够利用
隐藏操作
(代码如下)删除这两个按钮。隐藏自定义操作的问题在于,没有属性可指定列表或内容类型,因此无法关闭。此外,没有类似于
CustomActions
中的属性只向管理员显示按钮(下面是我想在CustomActions中执行的操作的示例代码)

排尿术代码:

<HideCustomAction
    Id="HideCreatePublishingPage"
    GroupId="SiteActions"
    HideActionId="PublishingSiteActionsMenuCustomizer"
    Location="Microsoft.SharePoint.StandardMenu">
</HideCustomAction>
<CustomAction
    Id="HideNewPage"
    GroupId="SiteActions"
    Location="Microsoft.SharePoint.StandardMenu"
    RegistrationType="List"
    RegistrationId="10037"
    RequireSiteAdministrator="TRUE">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="WHAT GOES HERE?" /> <!-- PublishingSiteActionsMenuCustomizer should go here but i dont have the id -->
      </CommandUIDefinitions>
    </CommandUIExtension>
</CustomAction>

自定义操作代码:

<HideCustomAction
    Id="HideCreatePublishingPage"
    GroupId="SiteActions"
    HideActionId="PublishingSiteActionsMenuCustomizer"
    Location="Microsoft.SharePoint.StandardMenu">
</HideCustomAction>
<CustomAction
    Id="HideNewPage"
    GroupId="SiteActions"
    Location="Microsoft.SharePoint.StandardMenu"
    RegistrationType="List"
    RegistrationId="10037"
    RequireSiteAdministrator="TRUE">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="WHAT GOES HERE?" /> <!-- PublishingSiteActionsMenuCustomizer should go here but i dont have the id -->
      </CommandUIDefinitions>
    </CommandUIExtension>
</CustomAction>


如果有任何细节丢失或如果我没有正确解释自己,请让我知道,我会更新

据我所知,您想在某个特殊列表/页面中隐藏站点操作菜单中的操作

这不是开箱即用的。元素只是不提供“仅当用户在XYZ页时隐藏”。它要么隐藏动作,要么不隐藏——这适用于任何地方的所有用户。特别是当你谈论站点操作菜单时,它(顾名思义)是站点范围的

你唯一的选择就是使用JavaScript(或服务器端代码),来做你想做的事情,只为某些用户隐藏菜单项,以及只在某些页面上隐藏菜单项。使用JavaScript,您必须搜索菜单项并在逻辑适用时隐藏它们