列表记录如下:
在SharePoint2010客户端模型如果要得到中文字段的
错误写法
//打开站点 ClientContext clientContext = new ClientContext("http://moss:8001"); //获取列表 List list = clientContext.Web.Lists.GetByTitle("统计表"); //查看内容 CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = "<View/>"; //得到记录 ListItemCollection listItems = list.GetItems(camlQuery); //列表 clientContext.Load(list); //记录 clientContext.Load(listItems); //执行 clientContext.ExecuteQuery(); //得到记录 foreach (ListItem listItem in listItems) { // Console.WriteLine("Id: {0} Title: {1} 加班天数:{2}", listItem.Id, listItem["Title"], listItem["加班(天)"]); Console.WriteLine(); }
这样写的结果,运行会出现错误,无法得到要的结果。
正确写法:
//打开站点 ClientContext clientContext = new ClientContext("http://moss:8001"); //获取列表 List list = clientContext.Web.Lists.GetByTitle("统计表"); //查看内容 CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = "<View/>"; //得到记录 ListItemCollection listItems = list.GetItems(camlQuery); //得到某个字段 Field flds = list.Fields.GetByTitle("加班(天)"); //列表 clientContext.Load(list); //记录 clientContext.Load(listItems); //字段 clientContext.Load(flds); //执行 clientContext.ExecuteQuery(); //得到记录 foreach (ListItem listItem in listItems) { //*****************汉字的字段需要通过编码后方可得到值flds.InternalName Console.WriteLine("Id: {0} Title: {1} 加班天数:{2}", listItem.Id, listItem["Title"], listItem[flds.InternalName]); Console.WriteLine();
}
效果图如下: