1

我的 SharePoint 列表有一个允许多个查找值的列。我的 C# 控件(在 Web 部件内)允许用户从列表框中进行多项选择。我将这些值拆分为一个数组 - 每个数组成员都是需要在同一 SPListItem 列中更新的选定值。

我知道选择是从列表框中正确传递的——我只需要将这组值添加到 SPListItem 中的同一列。

我哪里错了?

SPFieldLookupValueCollection MyCollection = new SPFieldLookupValueCollection();
for (int i = 0; i < MyArrayOfSelections.Length; i++)
{
   if (MyLookupList["LookupColumn"].ToString() == MyArrayOfSelections[i].ToString())
   {
      MyID = int.Parse(MyLookupList[i]["ID"].ToString());
      SPFieldLookupValue thisSelection = new SPFieldLookupValue(MyID,MyArrayOfSelections[i].ToString());
      MySubCollection.Add(thisSelection);
      }
   }
   ListIWantToUpdate["ColumnWithMultipleLookupSelections"] = SubCollection;
   ListIWantToUpdate.Update();
   site.Update();
}
4

1 回答 1

1

代码示例的最后几行令人困惑(可能只是变量命名)。如果您只是更新数据,则不需要更新SPList对象(这需要特定列表的“管理列表”权限,也不SPSite需要 ojbect(要求您是站点管理员或所有者)。因此,此代码将不会成功运行对于普通用户。

于 2010-03-11T11:08:58.313 回答