Un esempio di come leggere le proprietà del web corrente (SPWeb) utilizzando il Client Object Model Client di
JavaScript in
SharePoint 2010.
Richiede la libreria
JQueryPrima di tutto creiamo un pulsante con cui richiedere le proprietà e un div in cui visualizzare i risultati:
<script type="text/javascript" src="/_layouts/jquery-1.7.2.min.js"></script>
<h2>test client object model js</h2>
<input type="button" id="btnLoad" value="Carica" />
<div id="result" style="border:1px solid red"></div>
Usando la funzione
ExecuteOrDelayUntilScriptLoaded di SharePoint carico la libreria
sp.js ed invoco la funzione che aggancia l'eventhandler al pulsante. La funzione anonima di gestione del click apre il contesto (ctx), prepara la richiesta per ottenere l'oggetto web (rWeb), aggiunge la richiesta al contesto (metodo load) ed infine esegue le richiesta in modo asincrono (executeQueryAsync):
<script type="text/javascript">
//load client script library
ExecuteOrDelayUntilScriptLoaded(manageWebProperties, "sp.js");
function manageWebProperties() {
$("#btnLoad").click(function () {
// open context
var ctx = new SP.ClientContext.get_current();
// prepare object
var rWeb = ctx.get_web();
// add object to context
ctx.load(rWeb);
// execute async query
ctx.executeQueryAsync(function (sender, args) {
//object to place results
var d = $("#result");
// write results
d.html('web title:' + rWeb.get_title()
+ '<br /> ID:'
+ rWeb.get_id()
+ '<br /> Created Date:'
+ rWeb.get_created());
}
, function onFail(sender, args) {
alert('failed to get info. Error:' + args.get_message());
}
);
});
}
</script>
Il risultato della query viene scritto nel div con id
result.