1

我正在使用以下代码将项目添加到我的应用程序顶层的列表中,但它没有添加任何内容,有人知道为什么吗?有什么遗漏吗?

它不会返回任何错误,只是不添加项目并且列表保持为空。

该代码位于要部署列表实例的功能的 FeatureActivated 方法中。

using (SPWeb web = site.OpenWeb())
                {
                    web.AllowUnsafeUpdates = true;
                    SPList icons = web.GetList(path)

                  SPSecurity.RunWithElevatedPrivileges(delegate()
                  {
                    SPListItem icon = icons.Items.Add();

                    icon[SPBuiltInFieldId.Title] = "title";
                    icon[new Guid("d3429cc9-adc4-439b-84a8-5679070f84cb")] = "class1";

                    icons.Update();
                  }
4

2 回答 2

4

您必须调用图标对象的 Update() 方法,而不是图标。

于 2011-09-20T12:01:25.817 回答
0

我发现有两种方法可以成功地将项目添加到列表中:

  1. 就像 Andreas Scharf 所说:

SPListItem item = list.Items.Add();
item["Title"] = "some title";
item.Update();

  1. 使用 AddItem() 而不是 Items 集合中的 Add() 的其他方式

SPListItem item = list.AddItem();
item["Title"] = "some title"; // Add item's field values
item.Update(); //also the item is updated, not the list

于 2011-09-22T17:12:41.677 回答