Если вы хотите знать, кто создал список или библиотеку, вам нужно получить свойство SPList.Author. Как я знаю, вы не можете получить его JSOM.
Мой совет для вас - разработать свой собственный http-hanlder с логикой на стороне сервера и называть его ajax. Например, вы передаете аргументы в обработчик, как веб-url (_spPageContextInfo.webAbsoluteUrl
), текущий пользовательский логин или идентификатор (_spPageContextInfo.userId
), а в обработчике итерации списков в Интернете сравниваете текущего пользователя и создателя списка. Наконец, верните необходимые сведения о списках.
Или просто разработать веб-часть и сделать то же самое: списки итерацию и сравнить его с SPContext.Current.Web.CurrentUser
UPDATE:
Пример C# кода. Вы можете поместить его в свою веб-часть или обработчик событий. В этом коде мы перебираем все списки на SPWeb
и сохраняем заголовок списка, созданный текущим пользователем.
private void GetLists()
{
using (SPSite site = new SPSite("{site_url}"))
{
using (SPWeb web = site.OpenWeb())
{
SPListCollection listCol = web.Lists;
List<string> currentUserLists = new List<string>();
foreach(SPList list in listCol)
{
if (list.Author.ID == SPContext.Current.Web.CurrentUser.ID)
{
currentUserLists.Add(list.Title);
}
}
}
}
}
Спасибо за ответ. Дело в том, что я получаю другие списки, которые не являются частью каких-либо пользователей. Эти списки даже не видны в SharePoint Designer, и я новичок в мире SharePoint. – Doro
Итак, мое предложение - разработать пользовательскую веб-часть или обработчик http, которые будут возвращать списки, созданные текущим или конкретным пользователем, которого вы хотите. Если это ваш первый пример разработки sharepoint, см. Обновление в моем сообщении и перейдите в msdn для [создания веб-части прохода] (https://msdn.microsoft.com/en-us/library/ee231551 (v = vs.120) .aspx). –