我正在尝试模仿Alert Me功能,因为业务只需要Alert Me和发送链接。在Alert Me中,当我的javascript代码位于文档库的allitems.aspx页面时,我正在尝试获取当前列表的名称和标题。我能找到的所有例子都假设你已经知道了列表的标题。
答案 0 :(得分:1)
至少可以使用以下选项在列表视图页面(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;