Share via


Los objetos de cliente pueden usarse en métodos en una consulta

Última modificación: martes, 09 de febrero de 2010

Hace referencia a: SharePoint Foundation 2010

Disponible en SharePoint Online

A diferencia de los valores del método y de propiedad, y de los objetos valor, al devolver un objeto de cliente por medio de un método o propiedad, puede usar el objeto como parámetro para otra llamada de método o propiedad en la misma consulta. Para obtener más información acerca de los objetos de cliente, vea Objetos de cliente, objetos valor y propiedades escalares.

El siguiente ejemplo implica el uso de varios objetos de cliente en una consulta para devolver un elemento de lista específico. A diferencia de lo que normalmente sucede al trabajar con valores de propiedad, en el ejemplo sólo se debe realizar una llamada de método a ExecuteQuery() o 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 realiza un seguimiento del modo en que se crean los objetos mediante rutas de acceso del objeto. Para devolver el elemento de lista, el ejemplo usa la ruta de acceso del objeto que se obtiene del uso de varios miembros: la propiedad Web (JavaScript: Web) del contexto de cliente, la propiedad Lists (JavaScript: lists) del sitio web, el método GetByTitle(String) (JavaScript: getByTitle(strListName)) de la colección de listas y el método GetItemById(String) (JavaScript: getItemById(id)) de la lista. Dado que el modelo de objetos realiza un seguimiento de la ruta de acceso del objeto que se usa para crear el objeto de cliente, el código puede usar el objeto como un parámetro para invocar otros métodos en la misma consulta.

Vea también

Conceptos

Introducción a la recuperación de datos

Llamada a Load y ExecuteQuery antes de obtener acceso a las propiedades del valor

Los objetos valor no se pueden usar entre métodos en una consulta

Recuperación de datos de grupo en el mismo objeto

La recuperación de un objeto de cliente no recupera todas las propiedades