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
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