C# 带有文档库的团队站点
我有一个团队网站,如果我创建了一个包含文档的文档库,我会尝试将文档库中的一列设置为空 但该列不为空C# 带有文档库的团队站点,c#,sharepoint,document,splist,C#,Sharepoint,Document,Splist,我有一个团队网站,如果我创建了一个包含文档的文档库,我会尝试将文档库中的一列设置为空 但该列不为空 public override void FeatureActivated(SPFeatureReceiverProperties properties) { SPWeb web = (SPWeb)properties.Feature.Parent; SPList list = web.Lists.TryGetList("Document Library"); if (l
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb web = (SPWeb)properties.Feature.Parent;
SPList list = web.Lists.TryGetList("Document Library");
if (list != null)
{
SPListItemCollection listItemCollection = list.GetItems();
foreach (SPListItem item in listItemCollection)
{
var columnToUpdate ="MyField";
string internalName = item.Fields[columnToUpdate].InternalName;
item[internalName] = "";
item.Update();
}
}
}
我想您应该找到另一种清空字段的方法,而不是在foreach循环中,因为foreach是在容器上迭代的,确保每个项目只访问一次,而不更改容器,以避免令人讨厌的副作用(即,foreach是只读的)。也许尝试使用for循环执行类似的步骤会有所帮助,如以下代码:
SPListItemCollection listItemCollection = list.GetItems();
for (int i = 0; i < listItemCollection.Count; i++)
{
var columnToUpdate = "MyField";
var item = listItemCollection[i];
string internalName = item.Fields[columnToUpdate].InternalName;
item[internalName] = "";
item.Update();
}
SPListItemCollection listItemCollection=list.GetItems();
for(int i=0;i
希望这会有帮助。
如果你在这里找不到解决方案,我建议你问这个问题