首页 > 代码库 > 添加功能区按钮到SP2010某一列表或库
添加功能区按钮到SP2010某一列表或库
添加功能区按钮到SP2010某一列表或库
有时候你需要给列表/库的功能区天假期新按钮--没有什么比这更简单的了。你只需要新建一个SP项目,添加一个feature,添加一个空白元素,编辑它的Elements.xml文件。
大多说时候它看起来像这样:
Elements.xml:
<?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="{41C23DD2-6FEB-4636-AE4F-41B8E2A2D415}" <strong> RegistrationId="100"</strong> <strong> RegistrationType="List"</strong> Location="CommandUI.Ribbon" Sequence="5" Title="Custom Lists Button"> <CommandUIExtension> <CommandUIDefinitions> <CommandUIDefinition Location="Ribbon.List.Settings.Controls._children"> <Button Id="{09A51440-C3A6-4103-874A-383747042E75}" Alt="Custom Lists Button" Sequence="5" Command="{42844423-382B-4e87-BEC4-34B0601DA98F}" Image32by32="/_layouts/images/menulistsettings.gif" Image16by16="/_layouts/images/itdcl.gif" LabelText="Custom Lists Button" TemplateAlias="o1" /> </CommandUIDefinition> </CommandUIDefinitions> <CommandUIHandlers> <CommandUIHandler Command="{42844423-382B-4e87-BEC4-34B0601DA98F}" EnabledScript="" CommandAction="javascript: alert('Custom Lists Button!');" /> </CommandUIHandlers> </CommandUIExtension> </CustomAction> </Elements>部署解决方案,激活feature结果是:
这个方法的缺点是按钮会出现在每个现有自定义列表中,就算你新建自定义列表也会出现。原因是RegistrationId="100"。这里100是自定义列表的类型。如果要给某个列表实例提供按钮的话,你可以使用一下方法:
创建列表定义并分配RegistrationId到列表定义的Type
首先需要新创建列表定义:
打开列表定义的Elements.xml,复制Type值:
粘贴该值到按钮的Elements.xml中RegistrationId:
<CustomAction Id="{67A1EB46-A49B-4aff-B456-068909C39599}" RegistrationId="10000" RegistrationType="List" Location="CommandUI.Ribbon" Sequence="5" Title="List Definition Button"> <CommandUIExtension> <CommandUIDefinitions> <CommandUIDefinition Location="Ribbon.List.Settings.Controls._children"> <Button Id="{3F083F8B-95D6-436b-A130-3EF1E8C04E3C}" Alt="List Definition Button" Sequence="5" Command="{AF90D558-00DA-4ccf-B4F4-169CD9162CD0}" Image32by32="/_layouts/images/menulistsettings.gif" Image16by16="/_layouts/images/itdcl.gif" LabelText="List Definition Button" TemplateAlias="o1" /> </CommandUIDefinition> </CommandUIDefinitions> <CommandUIHandlers> <CommandUIHandler Command="{AF90D558-00DA-4ccf-B4F4-169CD9162CD0}" EnabledScript="" CommandAction="javascript: alert('List Definition Button!');" /> </CommandUIHandlers> </CommandUIExtension> </CustomAction>最后,添加列表定义到feature,这样它能随着解决方案一起部署:
激活feature后,你应该可以给予新建列表定义创建新的列表:
当你
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。