C# 将2个字段添加到2个内容类型会给出:自上次获取对象以来,该对象已由另一个用户更新
我正在尝试将2个新字段添加到2个现有的内容类型中,我遇到了这个异常,不知道如何修复它 在以下行中的第一次内容类型更新后引发异常:agendaPoints.AddFieldRefFromContentType(currentWeb,fldRecurrent) 和扩展方法C# 将2个字段添加到2个内容类型会给出:自上次获取对象以来,该对象已由另一个用户更新,c#,sharepoint,sharepoint-2010,C#,Sharepoint,Sharepoint 2010,我正在尝试将2个新字段添加到2个现有的内容类型中,我遇到了这个异常,不知道如何修复它 在以下行中的第一次内容类型更新后引发异常:agendaPoints.AddFieldRefFromContentType(currentWeb,fldRecurrent) 和扩展方法 public static void AddFieldRefFromContentType(this SPContentType contentType, SPWeb web,SPField field) {
public static void AddFieldRefFromContentType(this SPContentType contentType, SPWeb web,SPField field)
{
SPFieldLink fieldLink = new SPFieldLink(web.AvailableFields.GetField(field.InternalName));
//Check if the Field reference exists
if (!contentType.Fields.ContainsField(field.Title))
{
contentType.FieldLinks.Add(fieldLink);
contentType.Update(true);
}
else
{
//Do Nothing
}
}
您是否已尝试将获取内容类型的行移动到允许不安全更新的上方/下方的行。内容类型之间是否存在任何类型的继承设置?是否尝试将获取内容类型的行移动到“允许不安全更新”上方/下方的行。内容类型之间是否存在任何类型的继承设置?事实上,问题不在代码中,问题在于实际上议程点是从议程点建议的内容类型继承的,因此我只需向父内容类型添加一次字段,就这样。谢谢你帮我找出问题:),把答案贴出来,我会把它标记为已回答:)
public static void AddFieldRefFromContentType(this SPContentType contentType, SPWeb web,SPField field)
{
SPFieldLink fieldLink = new SPFieldLink(web.AvailableFields.GetField(field.InternalName));
//Check if the Field reference exists
if (!contentType.Fields.ContainsField(field.Title))
{
contentType.FieldLinks.Add(fieldLink);
contentType.Update(true);
}
else
{
//Do Nothing
}
}