• MOSS2010 客户端对象模型开发(三)


    本篇将讲述MOSS2010客户端对象模型操作MOSS里面的讨论列表,讨论列表是一个特殊的列表,因此对它的操作就不能像普通的列表那样操作了,否则会产生一系列的问题的。首先我先讲述一下讨论列表的添加操作,看如下代码,向一个讨论列表里面增加一条讨论主题:
                    using (ClientContext client = new ClientContext(Url))
                    {
                        client.Credentials = new NetworkCredential(UserName, UserPassword, Domain);
                        Web web = client.Web;
                        client.Load(web);
                        //获得列表
                        List list = web.Lists.GetById(new Guid(ThreadID));
                        client.Load(list);

                        //添加帖子
                        ListItem listItem = Utility.CreateNewDiscussion(client, list, Title);
                        listItem["Body"] = Content;
                        listItem.Update();
                        client.Load(listItem);

                        client.ExecuteQuery();         
                    }


    读取讨论板列表的主题,以及对该主题进行的评论回复信息:

     using (ClientContext clientContext = new ClientContext(url))
                    {
                        clientContext.Credentials = new NetworkCredential(UserName, UserPassword, Domain);
                        Web web = clientContext.Web;
                        clientContext.Load(web);

                        List list = web.Lists.GetById(new Guid(listGuid));
                        clientContext.Load(list);


                        //获取标题内容
                        ListItem itemThread = list.GetItemById(itemId);               
                        clientContext.Load(itemThread);
              
                        DataRow rowThread = dt.NewRow();
                        rowThread["ID"] = itemThread["ID"] == null ? "" : list.Id + "^" + itemThread["Title"].ToString();
                        rowThread["ClassName"] = list.Title == null ? "" : list.Title;
                        rowThread["Title"] = itemThread["Title"] == null ? "" : itemThread["Title"].ToString();
                        rowThread["Author"]=(itemThread.FieldValues["Author"as FieldUserValue).LookupValue;
                        rowThread["UpdateTime"] = Convert.ToDateTime(itemThread["Modified"].ToString()).ToLocalTime();
                        rowThread["Contents"] = itemThread["Body"] == null ? "" : itemThread["Body"].ToString();
                        dt.Rows.Add(rowThread);
                        
                        // 获取回复内容                   
                        CamlQuery camlReply = new CamlQuery();
                        camlReply.FolderServerRelativeUrl = itemThread["FileRef"].ToString();
                        camlReply.ViewXml = "<View></View>";

                        ListItemCollection ReplylistItemCollection = list.GetItems(camlReply);
                        clientContext.Load(ReplylistItemCollection);

                        if (ReplylistItemCollection != null)
                        {

                            foreach (ListItem item in ReplylistItemCollection)
                            {
                                DataRow row = dt.NewRow();
                                row["ID"] = item["ID"] == null ? "" : item["ID"].ToString();
                                row["ClassName"] = s[1];
                                row["Title"] = item["TrimmedBody"] == null ? "" : item["TrimmedBody"].ToString();
                                row["Author"]=(item.FieldValues["Author"as FieldUserValue).LookupValue;
                                row["UpdateTime"] = Convert.ToDateTime(item["Modified"].ToString()).ToLocalTime();
                                row["Contents"] = item["Body"] == null ? "" : item["Body"].ToString();
                                dt.Rows.Add(row);
                            }

         }

         clientContext.ExecuteQuery(); 

                     }  

      对讨论主题进行评论,即对讨论发布评论:



    using (ClientContext clientContext = new ClientContext(Url))
                    {
                        clientContext.Credentials = new NetworkCredential(UserName, UserPassword, Domain);               
                        Web web = clientContext.Web;
                        clientContext.Load(web);
                        //获得列表
                        List list = web.Lists.GetById(new Guid(listGuid));
                        clientContext.Load(list);

                        ListItem tempItem = list.GetItemById(itemId);
                        ListItem newListItem = Utility.CreateNewDiscussionReply(clientContext, tempItem);
                
                        newListItem["Body"] = Content;
                        newListItem.Update();
                        
                        clientContext.Load(newListItem);
                        clientContext.ExecuteQuery();  

                    }
  • 相关阅读:
    POLARDB与其他关系型数据库对比
    美团关于分布式ID实践方案
    CRM、DMP、CDP概念解析
    TIDB简介
    美团关于分布式ID实践方案细节
    美团在TIDB方面的实践
    设计模式之桥梁模式
    【转】Hibernate和IBatis对比
    Eclipse插件安装
    【转】揭开正则表达式的神秘面纱
  • 原文地址:https://www.cnblogs.com/luking/p/2665270.html
Copyright © 2020-2023  润新知