使用TypeScript获取sharepoint站点的子网站列表

时间:2017-05-12 14:22:06

标签: typescript sharepoint

您知道如何从我的sharepoint网站检索所有子网站并将其放入列表中吗?我以为我可以使用this.context.pageContext来做,但我找不到它。对不起,如果我的问题看起来很明显,我是打字稿的新手。

1 个答案:

答案 0 :(得分:0)

唉... 使用JSOM和TypeScript需要获取当前上下文,然后是网站集对象,并从那里获取AllWebs集合(包含Title属性)

var context = new SP.ClientContext.get_current();
var allWebs = context.get_site().get_allWebs();
context.load(allWebs, 'Include(Title)');
var list = new Array();
clientContext.executeQueryAsync(succeeded, failed);

function succeeded(sender, args) {
    for (var i = 0; i < allWebs.get_count(); i++) {
        var subWeb = webSubSites.itemAt(i);                 
        array.push(subWeb.get_title());
    }
}
function failed(sender, args) {
    console.log(args);
}

这是普通的javascript,但如果你想从TypeScript中受益,可以使用nuget中的sharepoint.TypeScript.DefinitelyTyped

然后你可以将你的回调(成功,失败)定义为休闲:

function succeeded(sender: any, args: SP.ClientRequestSucceededEventArgs) {
    // code here
}
function failed(sender: any, args: SP.ClientRequestFailedEventArgs) {
    // code here
}