如果您想知道谁创建了列表或库,您需要获取属性SPList.Author。据我所知,您无法通过 JSOM 获得它。
我对您的建议是在服务器端开发自己的带有逻辑的 http 处理程序,并通过 ajax 调用它。例如,您将参数传递给处理程序,如 web url ( _spPageContextInfo.webAbsoluteUrl
)、当前用户登录名或 id ( _spPageContextInfo.userId
),并在处理程序中迭代 web 上的列表,比较当前用户和列表创建者。最后,返回所需的列表信息。
或者只是开发 Web 部件并做同样的事情:迭代列表并将其与SPContext.Current.Web.CurrentUser
更新:
c# 代码示例。您可以将它放在您的 Web 部件或事件处理程序中。在此代码中,我们迭代所有列表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);
}
}
}
}
}