zoukankan      html  css  js  c++  java
  • OM通用:

    OM通用:

    提升权限读取:


    SPSecurity

    .RunWithElevatedPrivileges(delegate
    ()

    {


          SPWeb web = SPControl.GetContextWeb(context);

          using (SPSite elevSite = new SPSite(web.Site.ID))
          {

             using (SPWeb elevWeb = elevSite.OpenWeb(web.ID))
               {

                   SPList list = elevWeb.Lists["ListName"];                SPListItemCollection items = list.Items;
                   if (items != null)

                  {


                    for (int i = 0; i < items.Count; i++)
                    {

                        //....


                     }

                  }

                }

           }


    });

    如果为权限读取:


    SPList list = elevWeb.Lists["ListName"];

    SPListItemCollection items = list.Items;

    if (items != null)

    {


          for (int i = 0; i < items.Count; i++)

           {

                        //....

            }

    }

    在js中Share Point web Service方法:只列出有用的几个类型的读取。

    //-------------------------the following code is core source code , you can use it directly.---------

    //Below is the core js source code.

    function

    SPAPI_Lists() {

    this.core = new
    SPAPI_Core();

    this.serviceUrl = baseUrl + '/_vti_bin/lists.asmx'
    ;

    /* List template IDs */

    this.LIST_ID_DOCUMENT_LIBRARY = 101
    // Document library

    this.LIST_ID_USER_INFO = 112
    // User Information list

    this.LIST_ID_GENERIC = 100
    // Generic list

    /*-------------------*/

    this.getListItems = function
    (listName, viewName, query, viewFields, rowLimit, queryOptions, webID) {

    if (queryOptions == null || queryOptions == '') queryOptions = '<QueryOptions/>'
    ;

    var action = 'http://schemas.microsoft.com/sharepoint/soap/GetListItems'
    ;

    var
    params = [listName, viewName, query, viewFields, rowLimit, queryOptions, webID];

    var packet = '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/%22%3E%3Csoap:Body%3E%3Cgetlistitems xmlns="http://schemas.microsoft.com/sharepoint/soap/%22%3E%3Clistname%3E%7B0%7D%3C/listname%3E%3Cviewname%3E%7B1%7D%3C/viewname%3E%3Cquery%3E%7B2%7D%3C/query%3E%3Cviewfields%3E%7B3%7D%3C/viewfields%3E%3Crowlimit%3E%7B4%7D%3C/rowlimit%3E%3Cqueryoptions%3E%7B5%7D%3C/queryoptions%3E%3Cwebid%3E%7B6%7D%3C/webid%3E%3C/getlistitems%3E%3C/soap:Body%3E%3C/soap:Envelope%3E'
    ;

    return this.core.executeRequest(this
    .serviceUrl, action, packet, params);

    }

    }


    function

    SPAPI_Core() {

    this.createXMLHttpRequest = function
    () {

    if (typeof XMLHttpRequest != "undefined"
    ) {

    return new
    XMLHttpRequest();

    }


    else if (typeof ActiveXObject != "undefined"
    ) {

    return new ActiveXObject("Microsoft.XMLHTTP"
    );

    }


    else
    {

    throw new Error("XMLHttpRequest not supported"
    );

    }

    }


    this.executeRequest = function
    (serviceUrl, action, packet, params) {

    var oXMLHttpRequest = this
    .createXMLHttpRequest();

    var result = null
    ;

    var
    resultName;

    oXMLHttpRequest.open(


    "POST", serviceUrl, false
    );

    oXMLHttpRequest.setRequestHeader(


    "Content-Type", "text/xml; charset=utf-8"
    );

    oXMLHttpRequest.setRequestHeader(


    "SOAPAction"
    , action);

    if (params != null
    ) {

    for (var
    i = 0; i < params.length; i++) {

    packet = packet.replace(


    '{' + i.toString() + '}', (params[i] == null ? ''
    : params[i]));

    }

    }

    oXMLHttpRequest.send(packet);

    resultName = action.substring(action.lastIndexOf(


    '/') + 1) + 'Result'
    ;

    var
    resBatch;

    var
    status;

    var
    statusText;

    status = oXMLHttpRequest.status;

    statusText = oXMLHttpRequest.statusText;


    if
    (status == 200) {

    // Check for SharePoint error code

    resBatch = oXMLHttpRequest.responseXML.getElementsByTagName(resultName);

    var codeEl = oXMLHttpRequest.responseXML.getElementsByTagName('ErrorCode'
    );

    if (codeEl != null
    && codeEl.length > 0) {

    var
    spStatus = parseInt(codeEl[0].childNodes[0].nodeValue);

    if
    (spStatus != 0) {

    status = 0 - spStatus;


    // Note we make this -ve to prevent confusion with the HTTP code

    var messageEl = oXMLHttpRequest.responseXML.getElementsByTagName('ErrorText'
    );

    if (messageEl != null
    && messageEl.length >= 0) {

    statusText = messageEl[0].childNodes[0].nodeValue;

    }

    }

    }

    }

    result = {

    status: status,

    statusText: statusText,

    responseXML: oXMLHttpRequest.responseXML,

    responseText: oXMLHttpRequest.responseText,

    resultNode: (resBatch ==


    null || resBatch.length == 0 ? null
    : resBatch[0])

    };


    return
    result;

    //-------------------------------end--------------------------

    使用方法示例:

    function

    searchIssueByID() {

    var lists = new SPAPI_Lists(''
    );

    var items = lists.getListItems('Issues','','<Query><Where><Eq><FieldRef Name="ID"/><Value Type="Counter">' + issueId + '</Value></Eq></Where></Query>',
    // query

    '<ViewFields><FieldRef Name="Name"/></ViewFields>'
    ,

    1,


    // rowLimit

    ''
    // queryOptions

    );

    if (items.status == 200)
    {

         var rows = items.responseXML.getElementsByTagName('z:row');
    }

    );

    return false
    ;

    以上是在应用开发中常用到的。随时补充。


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nathan_romain/archive/2009/10/15/4674549.aspx

  • 相关阅读:
    MasterPage中找尋控件
    Win2003服务器发布的网站Session经常丢失
    Toolkits
    aspnet_regiis 命令格式說明
    SQL转换数字中文大写
    ASP.NET2.0实现无刷新客户端回调
    SQL的使用规范
    pku3207 2SAT问题入门
    unity3d打包资源
    Vector3.Lerp 插值
  • 原文地址:https://www.cnblogs.com/IsNull/p/1822164.html
Copyright © 2011-2022 走看看