• 【MOSS】SPListItems操作


    1、快速删除SPListItems集合

    在Sharepoint开发中可能需要一次删除成百上千条记录,这时候如果轮询SPList.Items并直接调用该对象的删除方法来删除的话性能极差,会叫你崩溃。

    下面介绍一个快速删除大量数据的方法:

    using (SPWeb myweb = mysite.AllWebs[“XXXX”])

    {

    SPListItemCollection itemsCollection=CurrentList.Items;

    StringBuilder sbDelete = new StringBuilder();

    sbDelete.Append("<?xml version="1.0" encoding="UTF-8"?><Batch>");

    foreach (SPListItem item in itemsCollection)

    {

        sbDelete.Append("<Method>");

        sbDelete.Append("<SetList Scope="Request">" + CurrentList.ID + "</SetList>");

        sbDelete.Append("<SetVar Name="ID">" + Convert.ToString(item.ID) + "</SetVar>");

        sbDelete.Append("<SetVar Name="Cmd">Delete</SetVar>");

        sbDelete.Append("</Method>");

    }

    sbDelete.Append("</Batch>");

    try

    {

        myweb.ProcessBatchData(sbDelete.ToString());

    }

    catch (Exception ex)

    {

    Console.WriteLine("Delete failed: " + ex.Message);

    throw;

    }

    }

    要非常注意的是使用该方法大量删除的条目将进入回收站,按照这里的一篇文章的说法,大量的条目在回收站会在某一天导致你的服务器和数据库CPU被占用达100%

    2、SPListItem属性参考

    假如访问网站地址为:

    http://www.xxx.com/it/Documents/VS.txt

    属性                                                       名称值
    item.File.ServerRelativeUrl                        /it/Documents/VS.txt
    Item.URL                                               Documents/VS.txt
    Item.File.Url                                           Documents/VS.txt
    Item.DisplayName                                   VS
    item.Name                                              VS.txt

  • 相关阅读:
    js实现年月日三级联动
    Java_Web之俱乐部会员信息管理系统
    JQuery特效之心形图片墙
    Java_Web之宠物管理系统
    JavaScript特效之图片特效放大,缩小,旋转
    使用Ajax验证用户名
    Java_Web之神奇的Ajax
    js动态操作订单表格
    tab切换
    树型菜单
  • 原文地址:https://www.cnblogs.com/BruceGoGo/p/3710360.html
Copyright © 2020-2023  润新知