我试图模仿“提醒我”功能,因为企业只希望“提醒我”并发送链接。在Alert Me中,当我的JavaScript代码位于文档库的allitems.aspx页面中时,我试图获取当前列表的名称和标题。我可以找到的所有示例都假设您已经知道列表的标题。
最佳答案
至少以下选项可用于确定“列表视图”页面(Title
)中的列表属性(如AllItems.aspx
)
使用SP.ListOperation.Selection
命名空间
SP.ListOperation.Selection.getSelectedList() Method获取所选列表的ID:
var listId = SP.ListOperation.Selection.getSelectedList();
以下示例演示如何通过CSOM(JavaScript)通过其ID检索列表:
(function(){
var listId = SP.ListOperation.Selection.getSelectedList(); //selected List Id
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getById(listId);
context.load(list);
context.executeQueryAsync(
function() {
//print List properties
console.log(list.get_title());
},
function(sender,args){
console.log(args.get_message());
}
);
})();
使用
_spPageContextInfo
结构_spPageContextInfo
对象在每个SharePoint页面中呈现,并包含存储当前列表ID的属性_spPageContextInfo.pageListId
:var listId = _spPageContextInfo.pageListId;