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