c# - 如何使用 SharePoint C# ConsoleApp 在任意一个列表中添加对应字段的值(每个列表中的字段会不同)
问题描述
如何循环获取字段以替换 listItem["Title"] = listItem[field in list] 并在列表具有不同字段且字段的字段类型不同时读取列表中的相应字段
string listNameAnything = console.ReadLine();
string inputValueAnything = console.ReadLine();
List list = clientContext.Web.Lists.GetByTitle(listNameAnything);
ListItemCreationInformation newItem = new ListItemCreationInformation();
ListItem listItem = list.AddItem(newItem);
listItem["Title"] = inputValueAnything;
//WHat I need to handle it
listItem.Update();
clientContext.ExecuteQuery();
解决方案
您可以尝试使用以下脚本来获取所有字段名称:
ContentTypeCollection contentTypes = list.ContentTypes;
ctx.Load(contentTypes);
ctx.ExecuteQuery();
ContentType contentType = contentTypes[0];
FieldCollection fields = contentType.Fields;
ctx.Load(fields);
ctx.ExecuteQuery();
foreach(Field field in fields)
{
Console.WriteLine("field type:"+field.TypeAsString + "; field name :"+ field.Title);
}
推荐阅读
- arrays - TypeScript:如果不存在则添加到数组,如果存在则删除
- docker - 如何防止应用程序在其依赖项可用之前启动
- reactjs - 从应用程序的任何位置反应取消订阅侦听器
- angular - 在 Angular 的 AppModule 中访问服务变量
- php - XML PHP 格式设置
- c++ - 我如何在arduino中制作像void loop和void setup这样的功能?
- r - 如何从内置函数 R 中关闭报告
- n - 节点模块未更新
- reactjs - React 应用程序可以链接到公共文件夹上的静态 html 吗?
- r - 使用 knitr/RStudio 时将 rmarkdown 奇怪地呈现为用于 tufte-handouts 的 HTML