【发布时间】:2013-04-09 17:41:30
【问题描述】:
我正在尝试将 AllItems.aspx 页面上的超链接更改为指向我的名为 CustomUpload.aspx 的文档库的自定义上传页面。
假设我有两个文档库(列表)。一个名为 vsList,在 Visual Studio 中创建并部署为 SharePoint 解决方案的一部分,另一个名为 sdList,从浏览器创建。
这是我迄今为止能够成功完成的事情:
- 在基于 Web 的编辑器中编辑 sdList 的 AllItems.aspx 页面。通过将其工具栏类型设置为“摘要”来自定义包含“添加新项目”超链接的 XsltListViewWebPart。然后,使用 SharePoint Designer (SPD),我在设计器视图中单击“添加新项目”超链接,然后出现小右箭头并允许我编辑超链接选项(即,将值设置为我自己的自定义 URL)。李>
- 将上面的 XSL 代码复制并粘贴到 vsList 文档库的 AllItems.aspx 文件中,并确保 url 的路径正确,因为 SharePoint 永远找不到任何东西,因为“是”SharePoint 的映射目录和虚拟目录最糟糕的情况。
选项 #1 不是真正的解决方案,因为它仅适用于通过 SP 门户中基于 Web 的 GUI 编辑器直接创建的文档库。我需要在我在 VS 中创建的列表定义中定义所有这些。至于选项#2,问题几乎相同。如果我将自定义 XSL 复制并粘贴到 AllItems.aspx 页面中,那么每次我重新部署包含自定义列表定义的 VS 解决方案时,它将被覆盖。所以我真的需要一个解决方案,允许我在我的 VS 列表定义中定义自定义 URL。
以下是应该有效但无效的方法:
- 创建一个自定义 Xsl 文件,其中包含覆盖默认“添加新项目”链接所需的所有调整。使用站点操作 => 编辑页面 => 编辑 Web 部件 => 其他 => XSL 链接,在 sdList 文档库的 AllItems.aspx 页面中编辑 XsltListViewWebPart 的 XslLink 属性。
- 编辑列表定义的 Elements.xml 文件,方法是添加必要的模块和文件 XML 标记以指向将覆盖“添加新项目”URL 的自定义 XSL 文件。无论我做什么,当我添加标签时它都不会部署,因为它只是找不到自定义 XSL 文件。
我已经尝试将文件放在 100 个不同的位置,并且它一直在尝试在“Features[MY PROJECT NAME]_PrimaryFeature\CustomStyle.xsl”中查找它。它从哪里得到我将文件存储在该路径/位置的想法?即使我尝试将 XSL 文件存储在 SharePoint 映射的 LAYOUTS/XSL 目录或实际 SharePoint 网站的样式库文档库中,它仍然找不到它。这简直令人抓狂。路径、位置、目录结构和 XSL 已成为我尝试在 SharePoint 中完成任何事情的最大障碍。
请帮忙。
【问题讨论】:
标签: sharepoint-2010 contenttype list-definition