Freigeben über


Clientobjekte können für mehrere Methoden in einer Abfrage verwendet werden

Letzte Änderung: Dienstag, 9. Februar 2010

Gilt für: SharePoint Foundation 2010

Verfügbar in SharePoint Online

Im Gegensatz zu Methoden- oder Eigenschaftswerten und Wertobjekten können Sie beim Zurückgeben eines Clientobjekts durch eine Methode oder Eigenschaft das Objekt als Parameter für einen weiteren Methoden- oder Eigenschaftsaufruf in der gleichen Abfrage verwenden. Weitere Informationen zu Clientobjekten finden Sie unter Clientobjekte, Wertobjekte und skalare Eigenschaften.

Im folgenden Beispiel werden verschiedene Clientobjekte in einer Abfrage verwendet, um ein bestimmtes Listenelement zurückzugeben. Im Gegensatz zur üblichen Vorgehensweise beim Arbeiten mit Eigenschaftswerten muss im Beispiel nur ein Methodenaufruf an ExecuteQuery() oder ExecuteQueryAsync(ClientRequestSucceededEventHandler, ClientRequestFailedEventHandler) (JavaScript: executeQueryAsync(succeededCallback, failedCallback)) ausgeführt werden.

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());
}

In Microsoft SharePoint Foundation 2010 wird mithilfe von Objektpfaden nachverfolgt, wie Objekte erstellt werden. Zum Zurückgeben des Listenelements wird im Beispiel der Objektpfad verwendet, der sich durch die Verwendung verschiedener Elemente ergibt: der Web-Eigenschaft (JavaScript: web) des Clientkontexts, der Lists-Eigenschaft (JavaScript: lists) der Website, der GetByTitle(String)-Methode (JavaScript: getByTitle(strListName)) der Listensammlung und der GetItemById(String)-Methode (JavaScript: getItemById(id)) der Liste. Da der zum Erstellen des Clientobjekts verwendete Objektpfad vom Objektmodell nachverfolgt wird, könnte dann im Code das Objekt als Parameter verwendet werden, um weitere Methoden in der gleichen Abfrage aufzurufen.

Siehe auch

Konzepte

Übersicht über den Datenabruf

Aufrufen von "Load" und "ExecuteQuery" vor dem Zugriff auf Werteigenschaften

Wertobjekte können nicht für mehrere Methoden in einer Abfrage verwendet werden

Gruppieren des Datenabrufs in demselben Objekt

Beim Abrufen eines Clientobjekts werden nicht alle Eigenschaften abgerufen