Sharepoint 2007 - 某些文件类型的自定义上下文菜单

时间:2010-07-23 08:05:00

标签: sharepoint sharepoint-2007 custom-action

我想知道是否有人可以帮我解决Sharepoint 2007.我想要做的是将自定义菜单项添加到上下文菜单(单击文档或其他项时打开的菜单)。

现在,菜单看起来像这样: picture

我想在此菜单中添加一个项目,例如“Do stuff”。主要问题:

  1. 我希望此项目仅出现在特定文件类型的菜单中(例如仅适用于.html但不适用于.doc);
  2. 当我点击这个项目(“Do stuff”)时,我想调用自定义外部代码(用C#编写,exe或DLL),它接受所点击文件的名称作为输入参数。
  3. 我理解实现这一目标的方法是使用自定义操作(2007年不需要进行javascript编辑,对吧?)。但由于我对MOSS很陌生,我有点失落,不知道究竟要做什么以及从哪里开始,所以非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

你必须实现像这样的CustomAction:

<CustomAction
   Id="YourUniqueId"
   Location="EditControlBlock"
   RegistrationType="FileType"
   RegistrationId="html"
   Sequence="20"
   Title="The text you want">
  <UrlAction Url="~site/_layouts/company/ActionPage.aspx?List={ListId}&amp;ID={ItemId}" />
</CustomAction>

你在UrlAction的Url中添加的内容取决于你想要做什么。它可以是JavaScript或Page或Handler的URL。

在我的示例中,它是一个获取QueryParameters的Page,以便SPContext.Current.ListItem将包含所选的文档列表项。

答案 1 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<Elements Id="d0574a32-59ce-4561-9496-ccf17da37a35" xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="Test2"
           Location="EditControlBlock"
           RegistrationType="FileType"
  //docx = documents, txt = text files, html = html files**       
                   RegistrationId="docx"       Sequence="10"
           Title="View Item Properties">
    <UrlAction Url="~site/_layouts/WSSHOL/ViewPageRedirect.aspx?listid={ListId}&amp;itemid={ItemId}" />
  </CustomAction>
</Elements>