Partager via


Les objets clients peuvent être utilisés à travers les méthodes dans une requête

Dernière modification : mardi 9 février 2010

S’applique à : SharePoint Foundation 2010

Disponible dans SharePoint Online

Au contraire des valeurs de méthode ou de propriété et des objets de valeur, lorsque vous retournez un objet client via une méthode ou une propriété, vous pouvez utiliser l’objet pour un autre appel de méthode ou de propriété dans la même requête. Pour plus d’informations sur les objets clients, voir Objets clients, objets de valeur et propriétés scalaires.

L’exemple suivant implique l’utilisation de plusieurs objets clients dans une même requête pour retourner un élément de liste spécifique. Au contraire de ce qui se passe généralement lors de l’utilisation de valeurs de propriétés, cet exemple n’a besoin que d’un seul appel de méthode à ExecuteQuery() ou à ExecuteQueryAsync(ClientRequestSucceededEventHandler, ClientRequestFailedEventHandler) (JavaScript: executeQueryAsync(succeededCallback, failedCallback)).

using System;
using Microsoft.SharePoint.Client;

namespace Microsoft.SDK.SharePointServices.Samples
{
    class GetListItem
    {
        static void Main()
        {
            ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection");
            Web oWebsite = clientContext.Web;
            List oList = oWebsite.Lists.GetByTitle("Announcements");
            ListItem oItem = oList.GetItemById(1);

            clientContext.Load(oItem);

            clientContext.ExecuteQuery();

            Console.WriteLine(oItem["Title"]);
        }
    }
}
Imports System
Imports Microsoft.SharePoint.Client

Namespace Microsoft.SDK.SharePointServices.Samples
   Class GetListItem
      
      Shared Sub Main()
         Dim clientContext As New ClientContext("http://MyServer/sites/MySiteCollection")
         Dim oWebsite As Web = clientContext.Web
         Dim oList As List = oWebsite.Lists.GetByTitle("Announcements")
         Dim oItem As ListItem = oList.GetItemById(1)
         
         clientContext.Load(oItem)
         
         clientContext.ExecuteQuery()
         
         Console.WriteLine(oItem("Title"))
      End Sub
   End Class
End Namespace
function getListItem() {

    var clientContext = new SP.ClientContext('/sites/TestWebs/TestWeb1');
    var oWebsite = clientContext.get_web();
    var oList = oWebsite.get_lists().getByTitle('Announcements');
    this.oListItem = oList.getItemById(1);

    clientContext.load(oListItem);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}

function onQuerySucceeded() {
    alert(oListItem.get_item('Title'));
}

function onQueryFailed(sender, args) {
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

Microsoft SharePoint Foundation 2010 conserve la trace de la façon dont les objets sont créés à l’aide de chemins d’accès aux objets. Pour retourner l’élément de liste, l’exemple utilise le chemin d’accès à l’objet qui résulte de l’utilisation de plusieurs membres : la propriété Web (JavaScript: web) du contexte client, la propriété Lists (JavaScript: lists) du site Web, la méthode GetByTitle(String) (JavaScript: getByTitle(strListName)) de la collection de listes, puis la méthode GetItemById(String) (JavaScript: getItemById(id)) de la liste. Comme le modèle objet conserve la trace du chemin d’accès à l’objet qui est utilisé pour créer l’objet client, le code a pu utiliser l’objet en tant que paramètre pour l’appel d’autres méthodes au sein de la même requête.

Voir aussi

Concepts

Vue d'ensemble de la récupération des données

Appeler Load et ExecuteQuery avant d’accéder aux propriétés de valeur

Les objets valeur ne sont pas utilisables entre méthodes dans une requête

Récupération de données de groupe sur le même objet

La récupération d'un objet client ne récupère pas toutes les propriétés