Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#将字段(列值)添加到上传的文件(文档)中不起作用_C#_Sharepoint - Fatal编程技术网

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

C#将字段(列值)添加到上传的文件(文档)中不起作用,c#,sharepoint,C#,Sharepoint,请帮忙 我正在尝试将字段添加到“刚上载”文件中。 该文件将上载到SPFolder对象。 我想自动添加库或文件夹中的所有字段,其中 文件已上载到该文件 第一:我从库中获取所有字段(SPList) 从事件“ItemAdded”属性: SPList currentList = properties.List; 第二:我从currentList中获取所有字段的字段集合: SPFieldCollection currentListFieldItems = currentList.Fields; 第三:

请帮忙

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

第一:我从库中获取所有字段(SPList) 从事件“ItemAdded”属性:

SPList currentList = properties.List;
第二:我从currentList中获取所有字段的字段集合:

SPFieldCollection currentListFieldItems = currentList.Fields;
第三:现在我想将每个字段添加到currentItem(这是唯一的 上传文件):

for(int i=0;i
它不工作,因为它总是说,所有领域已经存在! 你能帮帮我吗,我做错了什么


Steffen

您不能将字段添加到SPListItem。ListItem已包含您将文件上载到的列表中存在的所有字段。 如果要设置字段的值,可以使用字段的内部名称:

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

有关更多信息和示例,请访问

您好,谢谢您的回复,但是当我尝试此操作时,我收到一个错误:属性或索引器“Microsoft.SharePoint.SPFieldCollection.this[string]”无法分配给--它是只读的。我的错误是,您必须使用listitem的索引器,而不是fields集合。更新了我的答案并添加了一个指向MSDN的链接,您可以在其中找到更多信息和示例谢谢,我尝试了:currentItem[“InternalNameofField”]=“New Value”;我得到一个异常错误:“currentItem[FieldInternalName]=NeuesFeld.GetFieldValue(FieldInternalName);”SPFieldValidationException未由用户代码处理无效URL:_dlc_DocIdUrlOK,现在设置值应该可以工作了,您可以通过设置一个简单的文本字段值来尝试此操作,我认为您当前的错误消息是一个新问题
currentItem["InternalNameOfField"] = "I am the new value";