问题标签 [sharepoint-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
797 浏览

c# - 事件 ItemCheckingOut 上的 properties.ListItem 为空

我遇到了最奇怪的错误。

如果有人可以给我提示,我没有发现任何与谷歌相关的东西。

当我在包含 6 个项目的文档库 (TemplateType=101) 上挂钩 ItemCheckingOut 上的事件时,properties.ListItem 对于所有这些项目将始终为空。

这以前从未发生过。问题似乎与这些文件部署在具有 WSS 扩展 1.2 的功能中的事实有关。

这是我所做的:

  • 如果我尝试访问列表并手动获取项目,则计数返回 0。
  • 如果我尝试手动获取文件(即使 sharepoint 说它不存在),我无法对其进行任何操作(在这种情况下为 OpenBinary)并且它会抛出。
  • 在同一列表中创建未按功能部署的新文件使“properties.ListItem”不再为该特定元素再次为空。

有人有想法吗?

0 投票
5 回答
3963 浏览

sharepoint - 如何在我的 SharePoint 网站中获得多个同名列表?

我有一个从自定义网站定义创建的 SharePoint 网站。站点定义具有以下功能:

  1. 自定义内容类型。
  2. 其 schema.xml 文件引用该内容类型的自定义列表模板。
  3. 引用我上面的列表模板功能的列表实例功能。

在站点配置过程中,我按照上面的顺序通过 C# 代码激活了这些功能中的每一个(每个都在 SPWeb 级别)。我生成的网站看起来与我预期的一样,并且工作正常,但它有一个奇怪的工件,即我的网站的“所有网站内容”页面显示了我的自定义列表两次。

我的列表运行良好——它的物品接收器正确触发并且只触发一次。在SharePoint Manager (SPM)中,我还看到列表显示了两次,当我展开树查看属性时,它们在两个列表中看起来相同(甚至列表中的列表项)。我怀疑我可能在自欺欺人,而 SPM 可能只是两次查看同一个列表,而一些实际的流氓列表位于我网站的阴影中。

那么,这里可能出了什么问题?我怎么能创建多个同名列表?如何正确创建此列表?我怎样才能正确地清理现有网站中表现出这种行为的怪异之处?


编辑: 为了回应 Michael Stum 的问题,我创建了这个控制台应用程序来遍历站点列表并获取 ID:

这段代码显示了我的列表两次——相同的标题,相同的 ID。


另一个编辑: 我查看了该网站的 SharePoint 内容数据库,并执行了以下查询:

这表明我从上面的 C# 代码中检索到的只有一个带有标题和 GUID 的实际列表。那么,当我浏览我的网站时,是什么导致这些多个条目出现?

0 投票
2 回答
11530 浏览

sharepoint - SharePoint SPFolder.SubFolders.Add 实际上并未添加文件夹

我有几个只是标准库的文档库 - 没有关联的自定义内容类型或任何东西。我正在尝试向它们添加子文件夹,但在某些情况下它不起作用。

当我尝试添加一个M1 Spectrum CRC w-out CMN67 E02_files通过代码调用的子文件夹时,即使该Add方法似乎成功执行,它也无法添加该文件夹。当我尝试通过基于标准浏览器的 SharePoint 列表 UI 添加具有此确切名称的文件夹时,我成功添加了一个文件夹,但它具有不同的名称:

M1 Spectrum CRC w-out CMN67 E02_files_

请注意 SharePoint 创建的文件夹中的尾随下划线。这是一个合法的 Windows 文件夹名称,它不包含任何对 html 不友好的字符。那么,这是怎么回事?我错过了一些明显的东西吗?

0 投票
3 回答
9431 浏览

sharepoint - 共享点和

我想使用集成身份验证从 Web 部件访问 SQL 数据库。它应该使用 IIS 应用程序池标识。

默认情况下,您将收到错误消息:

因为在 web.config 中模拟设置为 true:

我可以将其设置为 false 并且数据库代码将起作用。匿名访问的网站也可以使用。但是,任何使用身份验证的 SharePoint 网站都会失败,因此这并不是真正的解决方案。

为了解决这个问题,我必须封装我的所有数据库访问代码以使用提升的权限运行,这就是 SharePoint 在内部的方式吗?不知何故,这似乎不是最高效的解决方案。这仍然是要走的路吗,只需使用 SQL 安全性从 SharePoint 自定义 Web 部件访问数据库?

0 投票
3 回答
854 浏览

sharepoint - 关于 SharePoint 2007 中的 SPlongOperation 对象

我在我的项目中使用 SPLongOperation 对象在导航到新页面时引入延迟。内置页面使用默认的 css 样式和品牌。

我想自定义此页面设计并应用我自己的主题和品牌。

请告诉我如何将自定义母版页应用于显示具有动画 gears_an.gif 图像的 SharePoint 2007 Spin Wheel 的页面。

提前致谢。

0 投票
1 回答
646 浏览

asp.net-mvc - Sharepoint 服务中的“ASP.NET MVC”CMS

我正在评估 ASP.NET MVC 中的 CMS 选项。我目前正在开发一个需要 CMS 功能的多租户应用程序。我一直在关注 N2、Mojoportal 等,但我也对 SharePoint Services 可以带来什么感兴趣。具体来说,我不想要一个 SharePoint 站点,而是我想潜在地使用共享点对象模型、数据库表等来形成 CMS 的核心。

这对 SharePoint 是否可行,还是我走错了路?我没有太多经验。

0 投票
2 回答
1212 浏览

sharepoint - SharePoint 多对多策略

我有一个 SharePoint 网站集,其中包含一个自定义网站定义和几十个已部署的“项目”网站。每个项目都包含许多“文档”(每个文档都由一个实际文档和一个关于该文档的站点表示)。因此,目前这种关系是一个项目对多个文档,并且我当前对每个项目站点的共享点配置都有一个自定义文档库来表示文档似乎工作正常。我的配置还为项目站点下的每个文档创建了一个站点,其 URL 类似于http://myserver/project1/document1

现在业务需求发生了变化,文档可能与多个任意项目相关联现在是有意义的。由于每个文档当前都在单个项目站点的列表中,因此必须进行一些更改。有什么好的建模方法?FWIW,文档的数量目前在几百个左右,未来几年可能会增长到几千个。

我的想法是将所有现有的基于项目的文档列表迁移到单个全局文档列表中。然后我必须以某种方式在每个项目中重新创建虚拟列表,以显示可从该项目访问的所有文档。从逻辑上讲,这将是全局列表的过滤视图。这是一个合理的方法吗?如果是这样,那么...

  1. 将文档项目和相关站点从一个项目内移动到某个全球区域的最佳方法是什么?
  2. 以通过显示该项目的正确文档来自动适应新项目站点创建的方式生成全局文档列表的那些项目过滤视图的最佳方法是什么?
0 投票
0 回答
1596 浏览

sharepoint - Sharepoint 进行自动丢弃结帐 - 丢失更改!

设想:

  1. 通过网络界面,我签出并编辑了一个文件。

  2. 我退出我的(非办公室)申请。我的申请询问我是否想签到,我回答不。包含我更改的文档仍处于签出状态,显示在我的 SharePoint 草稿文件夹中,并显示在 HKCU\Software\Microsoft\Office\Common\Offline\Files 下的注册表中

  3. 我回到网页界面,点击文件名,提示查看文件。我单击“确定”,令我惊恐的是,执行了结帐的自动丢弃: a。已删除注册表项 B. 文件(我的宝贵更改)被毫不客气地删除

希望重定向会发生,以启动我的应用程序,并在 SharePoint 草稿文件夹中修改草稿。

有谁知道如何让 SharePoint 执行此操作?

更新:我发现如果我通过 SharePoint Web 服务上传文件(不签入),SharePoint 将不再在同一用户的下一次读取尝试时执行此“放弃签出”。

0 投票
1 回答
1459 浏览

.net - SharePoint、工作流和 Web 服务 - 重新启动工作流

您是否可以使用 SharePoint Web Services 重新启动工作流或将工作流推送到下一步?

如果是这样,您使用哪个 Web 服务?如果您更改“状态”之类的字段并且工作流使用它来知道下一步应该做什么......它会“推动”工作流向前吗?

0 投票
1 回答
654 浏览

sharepoint - 编写 SharePoint 爬网规则脚本

我想从 MOSS 索引中排除某些页面,例如位于我网站根目录的页面库中的确认页面:http://server/Pages/ConfirmSignup.aspx

我可以通过转到搜索管理/搜索结果删除并将 url 添加到要删除框的 URL 来做到这一点。

因为我有开发、登台、uat、生产环境,所以我想编写这个脚本。我只能在 Gary Lapointe 的 stsadm 命令中找到一个命令,但这会在搜索范围中添加一个排除项,这似乎不适用于单个文件,仅适用于文件夹。由于我的 /Pages 库中有其他文件,因此我无法使用它。

如何以编程方式添加搜索结果删除 URL?