• SharePoint 2010 各个常用级别对象的获取


    文章主旨:获取SharePoint 2010 中SPFarm, SPWebApplicationCollection, SPWebApplication, SPSiteCollection, SPSite, SPWebCollection, SPWeb, SPListCollection, SPList级别对象的基本操作。【更在于方便自己在工作中的记忆与学习】 

    对SharePoint的基本操作有很多,要熟悉它的API不是一朝一夕就能搞定的事情,这篇文章主要是记录如何获取SharePoint中List级别以上对象的获取。下面是我自己测试的代码,希望对你有所帮助:

    1 using System;
    2 using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Text;
    5 using Microsoft.SharePoint;
    6 using Microsoft.SharePoint.Administration;
    7
    8 namespace GetCommonLevelObject
    9 {
    10 class CommonLevelObject
    11 {
    12 //在运行这部分代码之前要保证:
    13 //1:本机已经成功安装SharePoint
    14 //2:本项目里已经添加了SharePoint的服务(并且命名空间添加:SharePoint和SharePoint.Administration)
    15 //3:本项目的(属性)Platform target一定是 x64 或 any cpu,(若是x86则会得不到SharePoint的对象)同时 Application的Target Framework == .NET Framework 3.5
    16 staticvoid Main(string[] args)
    17 {
    18 //获取本地SharePoint的Farm(并且输出Farm的名字)
    19 SPFarm mLocalFarm = SPFarm.Local;
    20 string mLocalFarmName = mLocalFarm.DisplayName;
    21 Console.WriteLine("The Local SPFarm name is: {0}", mLocalFarmName);
    22
    23
    24 //获取WebApplicationCollection
    25 SPWebApplicationCollection mWebAppCol = SPWebService.ContentService.WebApplications;
    26 //遍历WebApplicationCollection中所有的WebApp
    27 foreach (SPWebApplication webapp in mWebAppCol)
    28 {
    29 Console.WriteLine("The name of SPWebApplication is: {0}", webapp.Name);
    30 }
    31 //获取WebApplicationCollection中某个特定的WebApp
    32 SPWebApplication mWebApp = mWebAppCol["SharePoint - 12345"]; //下标为WebApp的名字或Guid
    33
    34
    35 //获取某个WebApp下的SiteCollection
    36 SPSiteCollection mSiteCol = mWebApp.Sites;
    37 //遍历SiteCollection中所有的Site(即:手动创建的每一个SiteCollection)
    38 foreach (SPSite site in mSiteCol)
    39 {
    40 Console.WriteLine("The name of SPSite is: {0}", site.Url); //site没有Name和Title属性
    41 }
    42 //获取SiteCollection中某个特定的Site下标为Site的Server_Relative Url或是在SiteCollection中的序号】
     43 SPSite mSite = mSiteCol["sites/MyTeamSiteCollection1"];
    44
    45
    46 //获取某个Site下的WebCollection(其中包括该Site的RootWeb)
    47 //(注:Web的Name是Url上显示的名字;Title是页面显示的名字。手动创建时都可以填写)
    48 SPWebCollection mWebCol = mSite.AllWebs;
    49 foreach (SPWeb web in mWebCol)
    50 {
    51 Console.WriteLine("The title of web is: {0}", web.Title);
    52 Console.WriteLine("The name of web is: {0}", web.Name);
    53 }
    54
    55 //获得某个Site的RootWeb
    56 SPWeb rootWeb = mSite.RootWeb;
    57 //获取某个RootWeb(Web)下的WebCollection(其中不包含该RootWeb(Web))
    58 SPWebCollection mAnotherWebCol = rootWeb.Webs;
    59 foreach (SPWeb web in mAnotherWebCol)
    60 {
    61 Console.WriteLine("The title of web is: {0}", web.Title);
    62 Console.WriteLine("The name of web is: {0}", web.Name);
    63 }
    64
    65 //获取WebCollection中某个特定的Web
    66 SPWeb mWeb = mWebCol["MyTeamSite1"];
    67 //获取某个Web下的SPListCollection(之后的以此类推)
    68 //【注:Site没有.Lists属性,但是Web有.Lists属性】
    69 SPListCollection mListCol = mWeb.Lists;
    70 foreach (SPList list in mListCol)
    71 {
    72 Console.WriteLine("The title of the list is: {0}", list.Title); //List没有Name,但是有Title
    73 }
    74 SPList mList = mListCol["NewCustomList1"];
    75
    76 }
    77 }
    78 }
    79

    关于所有List级别以下(Item,Folder,File等等)对象的获取以后再详细介绍。

  • 相关阅读:
    沙盒配置好的测试
    云端存储的实现:云存储1
    演职人员名单MobileMenuList
    关于GitHub的朋友的NE Game
    到了冲刺阶段
    云存储的配置3
    刚才花了1$赞助了那位伙计
    我知道这对自己是个积累的过程,很好,我成长的很快
    煎熬过后终于有一刻释怀
    空白不曾停止。。。
  • 原文地址:https://www.cnblogs.com/mingmingruyuedlut/p/1889656.html
Copyright © 2020-2023  润新知