MSDN Visual系列:创建Feature扩展SharePoint列表项或文档的操作菜单项
2007-05-31 00:00
393 查看
原文:http://msdn2.microsoft.com/en-us/library/bb418731.aspx
在SharePoint中我们可以通过创建一个包含CustomAction元素定义的Feature来为列表项或文档添加一个自定义操作菜单项(Entry Control Block Item)。我们可以添加自定义命令到默认的SharePoint用户界面中。这些菜单命令允许用户在列表项或文档上执行特定操作。比如,我们可以在列表项或文档的菜单中增加一项,用来将用户重定向到我们的自定义的应用程序页面。通过这种方式,我们可以创建出于SharePoint列表项或文档的操作菜单紧密整合在一起的商业解决方案。
首先,创建一个自定义的Feature。我们可以将Feature定义在任何一个范围上,但通常定义在网站集或网站范围上。下面的例子定义了一个网站集范围(即Scope="Site")上的Feature,并引用了另一个CAML文件--elements.xml。
<Feature
Id="AA929AFF-4602-4d7f-A501-B80AC9A4BB52"
Title="A Sample Feature: Item Auditing"
Description="A sample Feature with an entry control block menu item"
Scope="Site"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="elements.xml" />
</ElementManifests>
</Feature>
定义一个Custom Action
我们使用CustomAction元素来定义SharePoint界面中各种类型的菜单项和链接。下面的CustomAction元素为文档库中的文档条目添加了一个自定义的菜单项。这是通过指定RegistrationType属性为List,RegistrationId属性为101来实现的。这是SharePoint中默认的文档库的类型Id。
<CustomAction
Id="ItemAuditing.ECBItemMenu"
RegistrationType="List"
RegistrationId="101"
ImageUrl="/_layouts/images/GORTL.GIF"
Location="EditControlBlock"
Sequence="300"
Title="View Audit History" >
<UrlAction
Url="~site/_layouts/ItemAudit.aspx
?ItemId={ItemId}&ListId={ListId}"/>
</CustomAction>
在我们创建了CustomAction元素后,还必须在其内部添加一个UrlAction元素,其中包括一个Url属性。当要把用户重定向到一个应用程序页面(如ItemAudit.aspx)时,我们还要考虑我们是将应用程序页面运行在当前网站上下文环境中还是当前网站集环境中。下面的例子中,在URL前面添加了动态标记~site,在运行时,~site会被替换为当前网站的URL。
~site/_layouts/ItemAudit.aspx
当我们通过定制的列表项操作菜单将用户重定向到一个自定义应用程序页面后,我们还需要将查询字符串传递到应用程序页面,以便可以通过编程获取到SPList和SPListItem对象。SharePoint支持另外两种动态标记:{ListId}和{ItemId}。SharePoint会用列表或文档库的GUID和列表项的ID号替换它们。
~site/_layouts/ItemAudit.aspx?ItemId={ItemId}&ListId={ListId}
这种方式允许后台自定义应用程序页面(如ItemAudit.aspx)在页面初始化时得到ListId和ItemId值,进而可以针对列表项或文档进行编程,实现用户期望的自动化任务。
查看视频
在SharePoint中我们可以通过创建一个包含CustomAction元素定义的Feature来为列表项或文档添加一个自定义操作菜单项(Entry Control Block Item)。我们可以添加自定义命令到默认的SharePoint用户界面中。这些菜单命令允许用户在列表项或文档上执行特定操作。比如,我们可以在列表项或文档的菜单中增加一项,用来将用户重定向到我们的自定义的应用程序页面。通过这种方式,我们可以创建出于SharePoint列表项或文档的操作菜单紧密整合在一起的商业解决方案。
首先,创建一个自定义的Feature。我们可以将Feature定义在任何一个范围上,但通常定义在网站集或网站范围上。下面的例子定义了一个网站集范围(即Scope="Site")上的Feature,并引用了另一个CAML文件--elements.xml。
<Feature
Id="AA929AFF-4602-4d7f-A501-B80AC9A4BB52"
Title="A Sample Feature: Item Auditing"
Description="A sample Feature with an entry control block menu item"
Scope="Site"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="elements.xml" />
</ElementManifests>
</Feature>
定义一个Custom Action
我们使用CustomAction元素来定义SharePoint界面中各种类型的菜单项和链接。下面的CustomAction元素为文档库中的文档条目添加了一个自定义的菜单项。这是通过指定RegistrationType属性为List,RegistrationId属性为101来实现的。这是SharePoint中默认的文档库的类型Id。
<CustomAction
Id="ItemAuditing.ECBItemMenu"
RegistrationType="List"
RegistrationId="101"
ImageUrl="/_layouts/images/GORTL.GIF"
Location="EditControlBlock"
Sequence="300"
Title="View Audit History" >
<UrlAction
Url="~site/_layouts/ItemAudit.aspx
?ItemId={ItemId}&ListId={ListId}"/>
</CustomAction>
在我们创建了CustomAction元素后,还必须在其内部添加一个UrlAction元素,其中包括一个Url属性。当要把用户重定向到一个应用程序页面(如ItemAudit.aspx)时,我们还要考虑我们是将应用程序页面运行在当前网站上下文环境中还是当前网站集环境中。下面的例子中,在URL前面添加了动态标记~site,在运行时,~site会被替换为当前网站的URL。
~site/_layouts/ItemAudit.aspx
当我们通过定制的列表项操作菜单将用户重定向到一个自定义应用程序页面后,我们还需要将查询字符串传递到应用程序页面,以便可以通过编程获取到SPList和SPListItem对象。SharePoint支持另外两种动态标记:{ListId}和{ItemId}。SharePoint会用列表或文档库的GUID和列表项的ID号替换它们。
~site/_layouts/ItemAudit.aspx?ItemId={ItemId}&ListId={ListId}
这种方式允许后台自定义应用程序页面(如ItemAudit.aspx)在页面初始化时得到ListId和ItemId值,进而可以针对列表项或文档进行编程,实现用户期望的自动化任务。
查看视频
相关文章推荐
- 推荐一篇有用文章:创建Feature扩展SharePoint列表项或文档的操作菜单项
- [转]SharePoint2010 Feature功能开发——为SharePoint的ECB菜单(列表项或文档的操作菜单项)添加自定义菜单栏项目
- SharePoint2010 Feature功能开发——为SharePoint的ECB菜单(列表项或文档的操作菜单项)添加自定义菜单栏项目
- SharePoint2010 Feature功能开发——为SharePoint的ECB菜单(列表项或文档的操作菜单项)添加自定义菜单栏项目
- SharePoint2010 Feature功能开发——为SharePoint的ECB菜单(列表项或文档的操作菜单项)添加自定义菜单栏项目
- <译> SharePoint2010 Feature功能开发——为SharePoint的ECB菜单(列表项或文档的操作菜单项)添加自定义菜单栏项目
- MSDN Visual系列:在WSSv3中通过创建Feature扩展站点的动作菜单
- SharePoint:扩展DVWP - 第25部分:通过SPServices创建列表项实现审计跟踪
- sharepoint 2016 学习系列篇(20)-文档库应用篇-(2)在文档库中创建文件夹
- MSDN Visual系列:在SharePoint中创建自定义HttpHandler
- 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询
- SharePoint:扩展DVWP - 第7部分:创建一个列表表单操作并挂接工作流
- sharepoint 2016 学习系列篇(19)-文档库应用篇-(1)创建一个文档库
- 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询
- Android官方开发文档Training系列课程中文版:线程执行操作之创建多线程管理器
- sharepoint 根据添加的列表项给文档库创建文件夹
- SharePoint 2010开发工具图解系列:Visual Studio 2010创建列表
- watir学习系列--文件操作(创建文件)
- SharePoint 2010 技巧系列 - 启用文档库接收邮件功能
- php基础系列----11php通过mysqli扩展操作mysql数据库