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