c# - SharePoint SPListItemCollection,将项目添加到空白列表

标签 c# sharepoint

我可能完全错误地解决了这个问题,但我对 SP 开发还是有点陌生​​,而且已经很晚了。

编辑:是的,我在想这个问题。我只记得 SPListCollection 与数据库相关联,如果我要添加记录,它将不起作用。我将改为尝试交叉列表查询。

我有两个 SP 列表,我需要查询一个,获取项目列表,然后使用这些项目 ID 查询另一个列表以获取它的“ child ”,每个 parent 可以有多个 child 。

我可以让它正常工作,关键是我需要构建一个 SPListItemCollection 以用于代码的其他部分。我正在尝试改造一些东西以使用这个新的查找过程,并且它全部基于 SPListItemCollections。这是一个代码片段:

foreach (SPListItem i in NAICParents)
                {


                    //query child slides
                    SPQuery qChildren = new SPQuery();
                    SPFieldLookupValue tmp = new SPFieldLookupValue(i.ID, i.Title);
                    qChildren.Query = "<Where><Eq><FieldRef Name=\"paNAICParent\" /><Value Type=\"Lookup\">" + tmp.ToString().Substring(tmp.ToString().IndexOf('#') + 1) + "</Value></Eq></Where>";
                    target = _web.Lists["paNAICUpdateSlides"];
                    SPListItemCollection children = target.GetItems(qChildren);

                    SPListItem temp = null;
                    foreach (SPListItem l in children)
                    {
                        temp =itmAll2.Add();
                        temp = l;
                        temp.Update();


                    }
                }

它死于 temp = itmAll2.add() 。我收到空引用错误。这是有道理的,因为我从未实例化过 SPListItemCollection,但我无法获得让我将其实例化为空白的代码。

我可以复制列表的结构来实例化一个空白列表吗?或类似的东西?

谢谢,

最佳答案

我不建议尝试在您的代码中重用 SPListItemCollection。这可能导致 SPWeb objects being reopened在幕后。

相反,我会使用 SPListItemCollection.GetDataTable获取一个 DataTable 来保存您的内存对象,然后您可以在代码中重复使用该对象。或者,您可以创建与列表中的每个项目相对应的 Bean 对象。

然后,您可以在内存对象中添加或删除项目,而无需打开更多数据库连接。

关于c# - SharePoint SPListItemCollection,将项目添加到空白列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5254280/

相关文章:

javascript - 当 JS var 的值为 0(零)时, Controller API 将其替换为空字段 (2sxc - DNN)

c# - c#中的按键事件找出按下的键

html - 在编辑模式下向内容编辑器 Web 部件添加更宽的图像使其重叠

C# Windows 应用程序 SharePoint 登录

c# - 如何使用 CSOM 从 Sharepoint 注销

c# - 如何在 Sharepoint 2007 Web 部件中托管 Silverlight 应用程序

c# - Windows 应用程序或 Windows 服务在 0800-1700 之间定期运行

c# - 运行查询,这里的设计好吗?

c# - NHibernate 和 DTO

SharePoint : how to automatically deploy a WSP package to a remote SharePoint Server?