CustomAction 元素

适用于:SharePoint 2016 |SharePoint Foundation 2013 |SharePoint Online |SharePoint Server 2013

定义用户界面扩展,如工具栏上的按钮或网站设置页上的链接。

定义

<CustomAction
  RequiredAdmin = "Delegated | Farm | Machine"
  ControlAssembly = "Text"
  ControlClass = "Text"
  ControlSrc = "Text"
  Description = "Text"
  FeatureId = "Text"
  GroupId = "Text"
  Id = "Text"
  ImageUrl = "Text"
  Location = "Text"
  RegistrationId = "Text"
  RegistrationType = "Text"
  RequireSiteAdministrator = "TRUE" | "FALSE"
  Rights = "Text"
  RootWebOnly = "TRUE" | "FALSE"
  ScriptSrc = "Text"
  ScriptBlock = "Text"
  Sequence = "Integer"
  ShowInLists = "TRUE" | "FALSE"
  ShowInReadOnlyContentTypes = "TRUE" | "FALSE"
  ShowInSealedContentTypes = "TRUE" | "FALSE"
  Title = "Text"
  UIVersion = "Integer">
</CustomAction>

元素和属性

下面各部分介绍了属性、子元素和父元素。

Attributes

属性 说明
**RequiredAdmin** 可选 **Text**。 指定应用自定义操作所需的管理权限。 此值用于调整管理中心中的链接。 可能的值为:
  • **Delegated**

  • **Farm**

  • **Machine**

**ControlAssembly** 可选 **Text**。 指定支持自定义操作的控件的程序集。
**ControlClass** 可选 **Text**。 指定支持自定义操作的控件类。
**ControlSrc** 可选 **Text**。 指定用作自定义操作源的 .ascx 文件的相对 URL, "~/_controltemplates/myCustomAction.ascx"例如。
**Description** 可选 **Text**。 将已公开操作的较长描述指定为工具提示或该操作的子描述。
**FeatureId** 可选 **Text**。 标识与自定义操作相关联的功能。
**GroupId** 可选 **Text**。 标识包含操作的操作组,例如。 "SiteManagement" 如果它包含在自定义操作组中,则该属性的 **GroupId** 值必须等于 CustomActionGroup 元素的组 ID。

有关 Microsoft SharePoint Foundation 中使用的默认自定义操作组 ID 的列表,请参阅 默认自定义操作位置和 ID
**Id** 可选 **Text**。 指定自定义操作的唯一标识符。 ID 可以是 GUID,也可以是唯一的术语, "HtmlViewer"例如。
**ImageUrl** 可选 **Text**。 指定虚拟服务器的相对链接,该链接指向表示项的图标的图像。
**Location** 可选 **Text**。 指定此自定义操作的位置,例如 "Microsoft.SharePoint.SiteSettings"

如果元素 **CustomAction** 包含 **CommandUIExtension** 子元素,则 **Location** 必须以“CommandUI.Ribbon”开头。 有关与服务器功能区一起使用的默认位置列表,请参阅 默认服务器功能区自定义位置

如果自定义操作是菜单项或工具栏按钮,则可能的选项包括**EditControlBlock****DisplayFormToolbar**``**NewFormToolbar**``**EditFormToolbar**

如果它包含在自定义操作组中,则属性的 **Location** 值必须等于 CustomActionGroup 元素的位置。

有关 SharePoint Foundation 中使用的默认自定义操作位置的列表,请参阅 默认自定义操作位置和 ID

**RegistrationId** 可选 **Text**。 指定此操作关联的列表或项内容类型的标识符,或文件类型或编程标识符 () **ProgID**
**RegistrationType** 可选 **Text**。 为每项操作指定注册附件。 可能的值包括:
  • **None**

  • **List**

  • **ContentType**

  • **ProgId**

  • **FileType**

**RequireSiteAdministrator** 可选 **Boolean****TRUE** 指定仅当用户是站点管理员时才显示该项目;否则, **FALSE**. **RequireSiteAdministrator**不支持对与列表项关联的 SharePoint Foundation 命令的下拉菜单使用该属性。
**Rights** 可选 **Text**。 指定用户必须拥有的一组权限才能使链接可见,例如 "ViewListItems,ManageAlerts"。 如果未指定,则操作始终显示在操作列表中。 若要指定多个权限,请用逗号分隔各个值。 权限集按 **AND** 逻辑进行分组,这意味着用户必须具有查看操作的所有指定权限。 有关可能值的列表,请参阅 Microsoft.SharePoint.SPBasePermissions。
**RootWebOnly** 可选 **Boolean****TRUE** 仅在根网站上部署自定义操作。 此属性适用于沙盒解决方案中的自定义操作。
**ScriptSrc** 可选 **Text**。 指定包含要执行的脚本的文件。 仅当属性设置为**ScriptLink**时,**Location**此属性才适用。
**ScriptBlock** 可选 **Text**。 指定要执行的脚本块。 仅当属性设置为**ScriptLink**时,**Location**此属性才适用。
**Sequence** 可选 **Integer**。 指定操作的排序优先级。
**ShowInLists** 此属性已弃用,不应该再使用。

可选 **Boolean****TRUE** 如果仅显示用于管理内容类型的页面上的列表的自定义操作。 默认值为 **FALSE**

**ShowInReadOnlyContentTypes** 可选 **Boolean****TRUE** 如果自定义操作仅显示在页面上用于管理内容类型的只读内容类型。 默认值为 **FALSE**
**ShowInSealedContentTypes** 可选 **Boolean****TRUE** 如果自定义操作仅显示在页面上用于管理内容类型的密封内容类型。 默认值为 **FALSE**
**Title** 必需 **Text**。 为此操作指定最终用户描述。
**UIVersion** 可选 **Integer**。 指定应该列出此自定义操作的用户界面的版本。

子元素

CommandUIExtension

UrlAction

父元素

元素

出现次数

最小值:1

最大值:无限制

备注

您可以使用 CustomAction 元素以自定义操作的形式在工具栏中添加标准 ASP.NET 控件和用户控件(例如,文本框或选项按钮)。 但是,只能将实例化菜单项的控件添加到工具栏的下拉菜单中;不能添加 Web 部件或任意控件。

示例

以下示例是替换服务器功能区上的按钮的功能的一部分。

    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <CustomAction Id="Ribbon.Library.Actions.ReplacementButton"
        Location="CommandUI.Ribbon"
        RegistrationId="101"
        RegistrationType="List"
        Title="Replace a Ribbon Button">
        <CommandUIExtension>
          <CommandUIDefinitions>
            <CommandUIDefinition
              Location="Ribbon.Library.Actions.ConnectToClient">
                 <Button Id="Ribbon.Library.Actions.ConnectToClient.ReplacementButton"
                   Command="ReplacementButtonCommand"
                   Image16by16="Insert an image URL here."
                   Image32by32="Insert an image URL here."
                   LabelText="Replaced Button"
                   TemplateAlias="o2" />
            </CommandUIDefinition>
          </CommandUIDefinitions>
          <CommandUIHandlers>
            <CommandUIHandler
              Command="ReplacementButtonCommand"
              CommandAction="javascript:alert('This button has been replaced.');" />
          </CommandUIHandlers>
        </CommandUIExtension>
      </CustomAction>
    </Elements>

另请参阅