• SharePoint2010客户端模型获取中文字段的编码方式


    列表记录如下:

    image

    在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();
    }

    效果图如下:

    image

  • 相关阅读:
    叶问14
    叶问13
    叶问12
    叶问11
    叶问10
    叶问9
    Java三种循环之间的区别
    利用Java对象数组制作简易学生管理系统
    什么叫java方法重载?
    Java编译器的常量优化
  • 原文地址:https://www.cnblogs.com/love007/p/2526282.html
Copyright © 2020-2023  润新知