gpt4 book ai didi

sharepoint - 无法将功能区按钮添加到自定义列表

转载 作者:行者123 更新时间:2023-12-04 01:18:22 25 4
gpt4 key购买 nike

编辑:更新了来自 Omlin 的输入

我正在尝试向功能区添加自定义按钮。我想要与名为“产品”的自定义列表关联的按钮。我可以让按钮显示内置列表,例如共享文档,但不能显示自定义产品列表。

下面是我的代码使用现有列表而不使用自定义列表的示例。我还附上了创建自定义列表和功能区按钮的工作和非工作代码的链接。这些解决方案假定您在 http://intranet.contoso.com 创建了一个站点。 .您可能需要更改项目的站点 URL 才能运行代码。

使用和内置列表(共享文档):

元素 XML:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="CustomRibbonTab"
Location="CommandUI.Ribbon.ListView"
RegistrationId="101"
RegistrationType="List"
Title="My Custom UI"
Sequence="5"
>
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition Location="Ribbon.Documents.New.Controls._children">
<Button
Id="Ribbon.Items.New.RibbonTest"
Alt="Test Button"
Sequence="5"
Command="Test_Button"
LabelText="Click me!"
Image32by32="/_layouts/images/ribbon_blog_32.png"
Image16by16="/_layouts/images/ribbon_blog_16.png"
TemplateAlias="o1"
/>
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler Command="Test_Button"
CommandAction="javascript:alert('I am a test!');">

</CommandUIHandler>
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
</Elements>

工作示例
Working Example

完整的 Visual Studio 解决方案 :
http://employees.claritycon.com/pwalke/blogs/working.zip

不工作

元素 XML :我从上面的代码中更改了 2 行。
第 28 行:将按钮与自定义产品列表关联,ID 10001,在下面的压缩代码的列表模板中指定。
RegistrationId="10001"

第 85 行:告诉 SharePoint 将该项目放置在“项目”菜单中。
<CommandUIDefinition Location="Ribbon.ListItem.New.Controls._children">

截图 – 我本来希望将自定义功能区按钮添加到新项目的左侧。
Not Working

完整的 Visual Studio 解决方案 :
http://employees.claritycon.com/pwalke/blogs/notworking.zip

最佳答案

Ribbon.Items.New.Controls._children


根据 MSDN ,根本没有这样的功能区位置:)
我现在没有 SharePoint 来测试,但我觉得你需要使用 Ribbon.ListItem.New.Controls._children

更新:到目前为止,我测试了添加到 Ribbon.ListItem.New.Controls._children 的按钮。它对我来说很好(我还没有使用任何注册类型和注册 ID)。我使用的示例代码是:
  <CustomAction
Id="ChangeBrowseTabTitle"
Location="CommandUI.Ribbon">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.ListItem.New.Controls._children">
<Button
Id="Ribbon.ListItem.New.RibbonTest"
Alt="Test Button"
Sequence="5"
Command="Test_Button"
LabelText="Click me!"
Image32by32="/_layouts/SharePointTestProject/avatar32.png"
TemplateAlias="o1"
/>
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler Command="Test_Button" CommandAction="javascript:alert('I am a test!');" />
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
结果是:
alt text
所以我现在将尝试测试自定义列表。

更新:我拿了你的“notworking.zip”项目,并尝试了代码。没有运气。
但是当我创建空白的新列表定义(解决方案->右键单击->添加->新项目->内容类型的列表定义),为其分配自定义ID(10012)并更改功能区中的引用时,它开始工作:
alt text

最终结果
所以实际上你的列表定义有问题。我没有足够的时间检查所有的 xml,所以我只是创建了与上面描述的相同列的新列表,删除了你的旧列表,现在一切正常。您可以使用此链接下载最终解决方案:
https://sites.google.com/site/omlinfiles/StackOverflow.RibbonCustomList.zip?attredirects=0&d=1
附言不要忘记更改站点 URL

关于sharepoint - 无法将功能区按钮添加到自定义列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3720781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com