C# 将字段(列值)添加到上传的文件(文档)不起作用

本文关键字:不起作用 文件 文档 添加 字段 列值 | 更新日期: 2023-09-27 18:33:32

请帮忙,

我正在尝试将字段添加到"刚刚上传"的文件中。该文件将上载到 SPFolder 对象。我想自动添加库或文件夹中的所有字段,其中文件将上载到文件。

1st:我从库中获取所有字段(SPList(从事件"项目已添加"属性:

SPList currentList = properties.List;

2nd:我从当前列表中获得了所有字段的字段集合:

SPFieldCollection currentListFieldItems = currentList.Fields;

3rd:现在我想将每个字段添加到当前项目(这是刚刚上传的文件(:

for (int i = 0; i < AnzahlFields; i++)
{
                   SPField NeuesFeld = currentListFieldItems[i];
                   String FeldInternalName = currentListFieldItems[i].InternalName;
                   String FeldName = currentListFieldItems[i].Title;
                   NeuesFeld.Type = currentListFieldItems[i].Type;
                   NeuesFeld.Required = currentListFieldItems[i].Required;
                   NeuesFeld.ShowInEditForm = true;
                   NeuesFeld.ShowInDisplayForm = true;
                   NeuesFeld.ShowInListSettings = true;
                   NeuesFeld.ShowInNewForm = true;
                   NeuesFeld.ShowInViewForms = true;

                   if (currentItem.Fields.ContainsField(FeldInternalName))
                   {
                   // The Field already exists
                   }
                   else
                   {
                   // The Field is not existing, will be added
                      currentItem.Fields.Add(NeuesFeld);
                   }
                   } 
currentitem.update();

它不起作用,因为它总是说,所有字段都已经存在!你能帮帮我吗,我做错了什么?

斯蒂芬

C# 将字段(列值)添加到上传的文件(文档)不起作用

不能向 SPListItem 添加字段。列表项已包含将文件上载到的列表中存在的所有字段。相反,如果要设置字段的值,则可以使用字段的内部名称来执行此操作:

currentItem["InternalNameOfField"] = "I am the new value";

更多信息和示例可以在 MSDN 上找到