2

我有一个解决方案,将 SharePoint 列表的所有内容复制到一个文件中,然后将文件的内容复制回 SharePoint(用于备份和阶段/实时环境切换)。

现在我可以复制我需要的所有字段,除了一个:ID

我知道这是一个只读字段,但可以更新其他一些只读字段(我测试过的 Created、Author、Modified、Editor、_ModerationStatus 和 _ModerationComments)

我无法使用 CopyTo 方法,因为我无法访问目标列表。

我希望能够保留 ID,因为我不想破坏所有出现在我网站内容中的http://siteCollection//Lists/Posts/Post.aspx?ID= ... URL。

所以基本上,只要没有从列表中删除任何内容,我现在拥有的系统(它会推送除 ID 之外的所有内容)运行良好。当某些内容被删除(比如 ID = 1)时,第一项变为 ID=2,当我将其推送到空目标列表中时,它变为 ID=1。

有没有办法强制 SPListItem 的 ID?这几乎肯定是一个黑客,但也许有人有办法?

谢谢!

4

2 回答 2

3

好吧,如果你只是想要那个,为什么不创建 ID=1 的虚拟项目然后删除它呢?添加这个逻辑应该不会太难

于 2010-08-06T05:16:22.170 回答
2

内容部署和迁移API中可能有一些内容允许您执行此操作。

我首先要看的是 Gary Lapointe STSADM 扩展,因为他在扩展内置命令方面做了一些出色的工作,包括保持原始 GUID 完整的导入

于 2010-08-06T12:00:31.993 回答