zoukankan      html  css  js  c++  java
  • SharePoint 2010 访问WebService 增删改列表

    直接上代码,我解释很清楚了:

    SPListService.Lists listService = new SPListService.Lists();
                /*凭据用默认即可*/
                listService.Credentials = System.Net.CredentialCache.DefaultCredentials;
                /*记住,虽然你引用的web引用路径是子网站,但是,实例化出来的Lists的URL还是主网站,别忘记*/
                listService.Url = "http://moss2010:1810/cimc3/vehicle/_vti_bin/Lists.asmx";
                /*通过Name属性Value值分别获取列表ID(GUIDs)和视图ID(GUIDs)*/
                System.Xml.XmlNode ndListView = listService.GetListAndView("BandList", "");
                string strListID = ndListView.ChildNodes[0].Attributes["Name"].Value;
                string strViewID = ndListView.ChildNodes[1].Attributes["Name"].Value;
    
                /*创建一个XML文档doc实体类并且建立一个Batch元素和属性。 需要注意的是空ViewName参数的方法使用默认视图。*/
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                System.Xml.XmlElement batchElement = doc.CreateElement("Batch");
                batchElement.SetAttribute("OnError", "Continue");
                batchElement.SetAttribute("ListVersion", "1");
                batchElement.SetAttribute("ViewName", strViewID);
    
                /* 指定使用CAML批处理的方法节点(Method)。
                 * 要更新或删除指定的ID项目,并更新或添加,放置在指定的列和指定值。
                 * 注意Method的ID递增,这没有特殊规定,也就是说,并不是1就代表更新,2就代表删除,3就代表新增,ID只是方法执行顺序。
                 * 小提醒:修改,需要知道这个列的ID和名称,删除只需要知道ID(如果你想传入其他值也可以,只是没用而已),新增不需要ID只需要其他项即可*/
                batchElement.InnerXml = @"
                                        <Method ID='1' Cmd='Update'>
                                            <Field Name='ID'>1</Field>
                                            <Field Name='BandNames'>版块</Field>
                                        </Method>
                                        <Method ID='2' Cmd='Delete'>
                                            <Field Name='ID'>1</Field>
                                        </Method>
                                        <Method ID='3' Cmd='New'>
                                            <Field Name='BandNames'>版块</Field>
                                        </Method>";
    
                /*更新列表项目,这个例子用的是列表的GUID,这仅仅是建议,用列表的显示名也是可以的*/
                try
                {
                    listService.UpdateListItems(strListID, batchElement);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                Console.WriteLine("Update!");
                Console.ReadKey();
    有本事别点我

    这样就能更新了,亲测没问题

  • 相关阅读:
    .net core 大文件分片上传
    Python 运算符
    CF1398G Running Competition FFT
    Luogu「StOI-2」简单的树 树链剖分+线段树+倍增
    LOJ#3145. 「APIO2019」桥梁 分块+可撤销并查集
    【UNR #4】序列妙妙值 分块+DP
    LuoguP5008 [yLOI2018] 锦鲤抄 tarjan+贪心
    windows提权
    基于 Laravel 框架的内容管理系统
    趣谈、浅析CRLF和LF
  • 原文地址:https://www.cnblogs.com/yangmengyi/p/3284815.html
Copyright © 2011-2022 走看看