问题标签 [spsite]

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 投票
2 回答
228 浏览

sharepoint - 使用提升模式后重命名“修改依据”字段

我目前在使用功能中使用的提升模式时遇到问题。

我创建了一个自定义 SharePoint 安全角色(没有删除权限的贡献角色)。我的 SharePoint 功能的目标如下:

将文件上传到 SP 站点时,需要使用所选元数据重命名文件名。上传文件时,第二种形式是要求用户定义 3 或 4 个元数据。

要重命名文件,我开发了以下代码:

在重命名文件名之前,我正在更新字段(元数据)的标题和编辑器。第二步将移动文件(元数据和与上传文件关联的历史记录)

我正在使用提升模式,因为具有受限安全角色的用户无法删除。在开发的代码中,我正在移动重命名的文件并删除上传的旧文件。

我找到了这种方法,因为我需要保留版本控制。不允许直接更新文件的名称(如标题),这会丢失历史记录。例如:将上传一个文件,文件名将使用元数据更新。对于第一个版本,没有问题。上传具有相同元数据的第二个文件,因为已经存在具有相同名称的文件,这将产生错误。使用 Files.Add,它将覆盖当前文件并保留历史记录。

我在这种情况下的问题:当用户上传文件时,字段 Title 和 Editor 被正确替换。比移动文件,重命名字段名称并删除旧版本。此时,修改依据字段一直在 SharePoint Sys Admin 中。

如何使用上传文件的人的姓名保留修改?

编辑:

使用以下代码:

允许我在上传过程中移动带有选定元数据的文件。如果当前版本已经上传但修改者是 SysAdmin,我仍然有版本控制。

使用以下代码:

如果我已经有版本,请允许我移动文件并保留历史记录。我现在可以获得由正在上传的真实用户而不是 SysAdmin 填写的“修改者”字段,但我丢失了在上传期间选择的元数据。

谢谢您的支持,

使固定。

0 投票
1 回答
3271 浏览

c# - 为什么此 Sharepoint Files.Add() 会导致 I/O 错误?

使用此代码:

...我得到“发生 I/O 错误”(在 IOException 捕获块中)。就是这一行:

...引发错误。是我的目的地还是内存流导致了问题?“目标”是 Sharepoint 文档库 (DirectPayPDFForms) 的名称加上文件的生成名称。如果没有这个新代码,该方法可以正常运行并将 PDF 文件放在服务器上(但这不是我们想要的 - 我们需要它首先进入文档库)。

更新

我得到了相同的异常,通过调用以下代码替换了上面有问题的代码块:

这种类型的代码在另一个实例中工作(我可以通过这种方式成功地将值保存到列表中),所以问题一定是特定于文档库的。我是否需要将文档保存到文档库中的特定字段

更新 2

我也试过这个:

......结果相同。

和这个:

...至少提供了一些变化,除了“无效的 URI:无法解析主机名。

有了这个:

...我回到了旧的“发生 I/O 错误”的口头禅。

更新 3

由于 Sharepoint 站点的“AllItems.aspx”页面同时具有“文档”和“列表”,我想知道在这种情况下我是否不应该使用列表,而是使用 Document。IOW,也许我的代码应该是这样的:

...目前在哪里:

...但是这种猜测没有成功,因为它无法编译(我得到,“'Microsoft.SharePoint.SPDocTemplateCollection.this[int]' 的最佳重载方法匹配有一些无效参数”和“参数 1:无法转换从'字符串'到'int'”)

0 投票
2 回答
116 浏览

c# - 如何使用c#从通过局域网连接的本地计算机上传共享点服务器中的文件

我对这个共享点的东西真的很陌生。我们有一个带有管理员帐户的共享点服务器,我通过 ip 和手动共享点端口从我的本地计算机连接它。坚果我需要编写一个程序,该程序需要将文件从本地机器上传到共享点服务器到服务器。可以使用winforms吗?还是只能在网络服务中使用。?

}

尝试使用上面的代码,我从以下行收到错误

使用 (SPSite oSite = 新 SPSite(sharePointSite))

错误是

“无法找到位于http://server:port/的 Web 应用程序。验证您是否正确键入了 URL。如果 URL 应服务于现有内容,系统管理员可能需要将新的请求 URL 映射添加到预期应用"

并且无法上传文件。但是,如果我将相同的 URL 复制并粘贴到本地计算机中,我就可以访问部署在服务器中的共享点,甚至可以从本地计算机手动上传文件。

如何从与 LAN 连接的本地计算机上传 sharepoint 服务器中的文件..?

0 投票
1 回答
21 浏览

xelement - 在 XElement 中提取 SPWeb.Groups.Xml

我需要在 XElement 中获取 SPWeb.Groups.Xml 来创建 XDocument。

目前我收到错误,因为“'<' 字符,十六进制值 0x3C,不能包含在名称中。”,

请建议解决方法或正确的方法来检索信息。

谢谢你的帮助。

0 投票
1 回答
26 浏览

spsite - 检索子站点和子站点的数据

我需要使用以下结构访问 SP 服务器上的以下结构。我已经尝试过 SPWebApp、SPWeb、SPSite 和 GetSubwebsForCurrentUser,但我遗漏了一些东西,我无法通过分支树获取数据。

请注意,我无权访问 ClientContext(使用管理员帐户的网络凭据会导致访问被拒绝错误)。

任何帮助将不胜感激。

谢谢

0 投票
1 回答
34 浏览

database - SharePoint 2013 - 从 SharePoint DB 获取 SPSite.Url

我直接针对 SharePoint DB 工作(我知道强烈不建议这样做,但出于多种原因我需要这样做)。

我正在尝试获取 SPSite.Url 属性(“ http://baseurl/sites/somename ”),但不知道该怎么做。我只能找到并获取每个站点的第二部分(“站点/名称”)。

有谁知道我需要使用哪些存储过程才能获得它?

0 投票
2 回答
616 浏览

c# - 我的代码中有一个错误“找不到类型或命名空间名称‘spsite’”,我不知道如何解决它

我编写了一个包含 SPSite 的代码,但出现此错误 CS0246: The type or namespace name 'SPSite' could not be found(您是否缺少 using 指令或程序集引用?)

我已经尝试从这里的 nuget 站点https://www.nuget.org/packages/Microsoft.SharePoint.dll/下载 Microsoft.SharePoint ,然后我将包放在正确的文件夹中,但我仍然有同样的错误

在正确的位置添加我下载的包后,我预计错误会消失,但它仍然存在。请帮忙!