Как получить элемент списка SharePoint из нескольких семейств сайтов с помощью JavaScript - PullRequest
0 голосов
/ 03 января 2012

Может кто-нибудь сказать мне, как получить элемент списка SharePoint с помощью JavaScript?

У меня есть два семейства сайтов: site1 и site2.Я работаю в приложении site1 и хочу получить список элементов site2.Как мне этого добиться?Пожалуйста, помогите мне.

Это код, который я использую на стороне JavaScript:

var ctx;   
var listItem;
var title;
var col1;
var col2;

function SetItemValue(listItemId, listId, siteUrl, webUrl) {
    ctx = new SP.ClientContext.get_current();
    var web;
    var site = ctx.get_site(siteUrl);//Here passing the second sitecollection url     
    if (webUrl != undefined && webUrl != '')
        web = site.openWeb(webUrl);
    else
        web = site.openWeb('');
    var list = web.get_lists().getById(listId);//Here passing the valid guid of list id
    listItem = list.getItemById(listItemId);
    ctx.load(list);
    ctx.load(listItem);
    ctx.executeQueryAsync(OnListLoaded);

    list.update();
    web.update();
    ctx.load(web);
}

function OnListLoaded() {
    listItem.set_item(col1, 'Hi');
    listItem.set_item(col2, 'Test');
    listItem.update();

    ctx.load(listItem);
    ctx.executeQueryAsync(OnListUpdated, OnError);
}

function OnListUpdated(args) {
}

function OnError(sender, args) {
    alert(args.get_message());
}

Отображается сообщение типа «Список не существует».Я думаю, что он проверит список из первого семейства сайтов, поэтому это сообщение появится.Может кто-нибудь помочь мне решить эту проблему, пожалуйста?

Спасибо,

Расу

1 Ответ

0 голосов
/ 03 января 2012

Вы можете использовать "конструктор" new ClientContext(serverAbsoluteUrl), чтобы создать контекст для определенного URL:

function SetItemValue(listItemId, listId, siteUrl, webUrl) {
    ctx = new SP.ClientContext(siteUrl);
    var web;
    var site = ctx.get_site(siteUrl);//Here passing the second sitecollection url     
    if (webUrl != undefined && webUrl != '')
        web = site.openWeb(webUrl);

    // ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...