Боюсь, что вы не можете получить список всех семейств сайтов в чистом JavaScript.Я предполагаю, что вы имели в виду все существующие семейства сайтов в веб-приложении или во всех веб-приложениях.
Если ваша страница (aspx) запускается на сервере SharePoint , вы можете поместить некоторый код на стороне серверана странице «рендеринг» список как JavaScript, а затем просто получить к нему доступ.Это был бы самый простой способ;вероятно, используя Page.ClientScript.RegisterStartupScript .
Если ваша страница (и / или веб-приложение) работает вне фермы SharePoint , вам придется создать и развернутьвеб-служба (asmx) или обработчик (ashx) для фермы SharePoint.Вы, вероятно, ответили бы списком семейства сайтов в виде содержимого JSON и использовали бы его с помощью jQuery на своей странице (AJAX).
Функциональность доступна только в серверном API SharePoint.Вы можете использовать SPWebService.ContentService.WebApplications и application.Sites , чтобы получить список в любом случае:
var json = new StringBuilder();
foreach (var site in SPWebService.ContentService.WebApplications.SelectMany(
application => application.Sites))
using (site) {
if (json.Length > 0)
json.Append(',');
json.Append('"').Append(site.Url).Append('"');
}
json.Insert(0, "[").Append("]");
--- Ferda